Eu acredito que todos estão familiarizados com o JDBC. Enquanto você for uma pessoa Java, você precisa aprender isso quando entrar em contato com o J2EE. Quem disse que os programas precisam lidar com bancos de dados? O JDBC é um conhecimento muito básico para lidar com bancos de dados e também está relativamente próximo ao nível subjacente. No trabalho real, as pessoas usam estruturas mais maduras, como Hibernate e Mybatis.
No entanto, como o JDBC subjacente dessas estruturas maduras, também devemos dominá -lo. Somente entendendo a adição, exclusão, modificação e consulta do JDBC, podemos entender melhor como essas estruturas maduras implementam adição, exclusão, modificação e consulta quando estão interessadas em estudar o código -fonte de hibernato ou mybatis no futuro.
Voltando ao assunto, vamos dar uma olhada em nosso ambiente de desenvolvimento:
Linguagem Java, Ferramentas de Desenvolvimento Eclipse, Banco de Dados MySQL, Ferramentas de Visualização de Banco de Dados NAVICAT.
Verifique as informações para obter a instalação, construção e uso do ambiente de desenvolvimento (muito simples) e não serão explicados em detalhes aqui.
A primeira etapa é criar um banco de dados, usar a ferramenta de visualização do banco de dados NAVICAT para criar um banco de dados, criar uma tabela no banco de dados, fornecer vários campos na tabela (lembre-se de fornecer um campo de identificação, uma chave primária única, uma sequência de auto-incremento) e, em seguida, forneça duas peças de dados à vontade para testar a função, como mostrado na figura:
O segundo passo é abrir o banco de dados (espero que todos possam tocar neste exemplo sozinho, o que não levará muito tempo. Familiarize -se com a maneira como o JDBC lida com o banco de dados, para que eu o mostre na figura). Como mostrado na figura:
A terceira etapa é transformar a classe DButil para facilitar a aquisição de conexões de banco de dados na camada DAO. O código é o seguinte:
pacote com.czgo.db; importar java.sql.connection; importar java.sql.driverManager; importar java.sql.sqLexception; public class dbutil {private static final string url = "jdbc: mysq: //127.0.0.1: 3306/imo"; String final estática privada uname = "root"; String final estática privada pwd = "root"; conexão estática privada conn = null; estático {try {// 1. Carregue a classe Driver.ForName ("com.mysql.jdbc.driver"); // 2. Obtenha a conexão com o banco de dados Conn = DriverManager.getConnection (URL, Uname, PWD); } catch (classNotFoundException e) {e.printStackTrace (); } catch (sqLexception e) {e.printStackTrace (); }} conexão estática pública getConnection () {return Conn; }} Etapa 4: Crie classes de entidade (como mostrado na figura acima, todo mundo observa a alocação de pacotes. Usaremos a idéia do MVC para projetar este exemplo. Existem idéias de design sobre o MVC, aprenda você mesmo, não direi muito aqui) O código é o seguinte:
pacote com.czgo.model; importar java.io.Serializable;/** * Classe de entidade: classe de Deusa * * @author alanlee * */classe pública deusa implementa serializável {private estático final long longVersionUiduid = 1L; / *** Chave primária exclusiva*/ ID inteiro privado; / *** nome*/ nome da string privada; / *** Número do celular*/ String privada mobie; / *** E -mail*/ e -mail privado string; / *** Endereço residencial*/ endereço de sequência privada; public integer getId () {return id; } public void SetId (ID inteiro) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; } public string getMobie () {return mobie; } public void setMobie (string mobie) {this.mobie = mobie; } public String getEmail () {retornar email; } public void setEmail (string email) {this.email = email; } public string getAddress () {retornar endereço; } public void setAddress (endereço da string) {this.address = endereço; }} Etapa 5, implementação da camada DAO (aqui, como é um pequeno exemplo, não há interface de escrita para grandes projetos em trabalho real, o que é conveniente para manutenção e expansão do programa). O código é o seguinte:
pacote com.czgo.dao; importar java.sql.connection; importar java.sql.preparedStatement; importar java.sql.resultset; importar java.sql.sqlexception; import java.util.arraylist; import.ba.blist; com.czgo.model.goddess;/** * Classe de processamento da camada de dados * * @author alanlee * */public class Goddessdao {/** * consulta todas as deusas * * @return * @throws sqLexception */public list <doddess> query () throws sqLexception {listshd> list <hoddist) // Obtenha a conexão do banco de dados Connection Conn = dbutil.getConnection (); Stringbuilder sb = new stringbuilder (); sb.append ("Selecione ID, nome, mobie, e -mail, endereço da deusa"); // opera o banco de dados por meio da conexão do banco de dados para realizar adição, exclusão, modificação e pesquisa preparada estatamento ptmt = Conn.Preparestatement (sb.toString ()); ResultSet rs = ptmt.executeQuery (); Deusa deusa = nula; while (rs.Next ()) {Deusa = nova deusa (); deusa.setId (rs.getint ("id")); deusa.setName (rs.getString ("nome")); deusa.setMobie (rs.getString ("mobie")); deusa.setemail (rs.getString ("email")); deusa.setAddress (rs.getString ("endereço")); deusa.setAddress (rs.getString ("endereço")); deusaList.add (deusa); } Retornar deusa Lista; } / ** * Query Goddess * * @return * @throws sqLexception * / deusa pública QuerybyId (ID inteira) lança sqLexception {deusa g = null; Conexão conn = dbutil.getConnection (); String sql = "" + "selecione * de imooc_goddess" + "onde id =?"; Preparado PTMTENT PTMT = Conn.Preparestatement (SQL); ptmt.setInt (1, id); ResultSet rs = ptmt.executeQuery (); while (rs.Next ()) {g = nova deusa (); g.setId (rs.getInt ("id")); g.setName (rs.getString ("nome")); G.SetMobie (Rs.getString ("Mobie")); g.setemail (rs.getString ("email")); g.setAddress (rs.getString ("endereço")); } retornar g; } / ** * Adicione deusa * * @THOWS SQLEXCECCETO * / public void addgoddess (deusa dausa) lança sqLexception {// obtenha a conexão com conexão do banco de dados Conn = dbutil.getConnection (); String sql = "inserir na deusa (nome, mobie, email, endereço) valores (?,?,?)"; Preparado PTMTENT PTMT = Conn.Preparestatement (SQL); ptmt.SetString (1, deusa.getName ()); ptmt.SetString (2, deusa.getMobie ()); ptmt.SetString (3, deusa.getEmail ()); ptmt.SetString (4, deusa.getAddress ()); ptmt.execute (); } / ** * Modifique as informações da Deusa * * @THOWS SQLEXCECCETION * / public void updateDess (Deusa deusa) lança SqLexception {Connection Conn = dbutil.getConnection (); String sql = "update Goddess Set Nome =?, Mobie =?, Email =?, Endereço =? Onde id =?"; Preparado PTMTENT PTMT = Conn.Preparestatement (SQL); ptmt.SetString (1, deusa.getName ()); ptmt.SetString (2, deusa.getMobie ()); ptmt.SetString (3, deusa.getEmail ()); ptmt.SetString (4, deusa.getAddress ()); ptmt.execute (); } / ** * Excluir deusa * * @THOWS SQLEXCECCETO * / public void DeleteGoddess (ID inteiro) lança SqLexception {Connection Conn = dbutil.getConnection (); String sql = "Exclua da Deusa onde id =?"; Preparado PTMTENT PTMT = Conn.Preparestatement (SQL); ptmt.setInt (1, id); ptmt.execute (); }} Etapa 6: A implementação da camada de controle (a camada de controle é usada para imitar a camada de controle e a interface aqui e criar dados diretamente aqui. Se forem os dados da interface, você pode passar os parâmetros de recebimento por meio de solicitações. Você pode alterar e melhorar o código da camada de controle de acordo com a situação real. Aqui está apenas um teste simples para você, e o tempo é apertado, é apertado, eu espera que você entenda. O código é o seguinte:
pacote com.czgo.action; importar java.sql.sqLexception; importar java.util.list; importar com.czgo.dao.goddessdao; importar com.czgo.model.goddess;/*** ** ** ** Camada de controle, construir dados aqui e os dados da interface podem ser recebidos mediante solicitação. O mesmo é verdadeiro * * @Author Alanlee * */public Class GoddessAction {/** * Adicionada deusa * * @param deusa * @throws exceção */public void add (deusa deusa) lança exceção {goddessdao dao = nova Deusao (); deusa.setName ("Aoi sora"); deusa.setMobie ("52220000"); deusa.setemail ("[email protected]"); deusa. Dao.addgoddess (deusa); } / ** * Query Goddess * * @param id * @return * @throws sqLexception * / public Goddess Get (ID inteiro) lança SqLexception {Goddessdao Dao = nova deusa da Deusao (); return Dao.QuerybyId (ID); } / ** * modifique a Deusa * * @param deusa * @throws Exceção * / public void Edit (deusa deusa) lança exceção {deusdada dao = nova deusa (); Dao.Updategoddess (Deusa); } / ** * excluir deusa * * @param id * @throws sqLexception * / public void del (ID inteiro) lança sqLexception {goddessdao dao = new goddessdao (); Dao.deletegoddess (ID); } / ** * Consulta todas as deusas * * @return * @throws Exception * / public List <Doddess> query () lança exceção {goddessdao dao = new goddessdao (); return Dao.Query (); } / ** * Teste se é bem -sucedido * * @param args * @throws sqLexception * / public static void main (string [] args) lança sqLexception {goddessdao goddessdao = new goddessdao (); List <Urddess> deusaList = deusdadao.Query (); Pois (deusa deusa: deusaList) {System.out.println (deusa.getName () + "," + deusa.getMobie () + "," + deusa.getemail ()); }}} Finalmente, vamos ver se o método principal é executado com sucesso:
Dessa forma, uma conexão JDBC JDBC simples com o banco de dados MySQL é concluída para adicionar, excluir, modificar e consultar. Você pode tentar fazer uma consulta avançada com base na consulta, ou seja, consulta de várias condições para consolidar o uso do JDBC.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.