Prefácio: o que é JDBC
Java Database Connectivity (JDBC) é uma interface do programa de aplicativos usada no idioma Java para regular como os programas de clientes acessam bancos de dados, fornecendo métodos como consulta e atualização de dados no banco de dados. O JDBC também é uma marca registrada da Sun Microsystems. É JDBC para bancos de dados relacionais.
Simplificando, é uma API Java usada para executar instruções SQL. Através do encapsulamento, os desenvolvedores podem usar APIs Java Pure para concluir a execução do SQL.
1. Trabalho de preparação (i): Configuração de instalação do MySQL e aprendizado básico
Antes de usar o JDBC para operar um banco de dados, primeiro você precisa ter um banco de dados. Aqui estão três links para os leitores aprenderem sozinhos.
Download, instalação, implantação e operação detalhada do MySQL: tutorial: //www.vevb.com/article/87690.htm
Recomenda -se ler o tutorial e a prática introdutória enquanto pratica operações básicas, como inserir, atualizar, selecionar, excluir etc., ao criar a tabela que você deseja usar posteriormente.
A figura a seguir é a tabela do banco de dados que usarei para a próxima demonstração.
2. Trabalho de preparação (2): Baixe o pacote JAR correspondente do banco de dados e importe -o
O uso do JDBC exige importar o pacote JAR correspondente no projeto. A correspondência entre o banco de dados e o pacote JDBC pode consultar o pacote JAR, o nome da classe de driver e o formato URL correspondentes a vários bancos de dados. Método de importação no Eclipse:
Clique com o botão direito do mouse no ícone do projeto, selecione "Propriedades", selecione "Adicionar frascos externos ..." em "Java Bulid Path" e selecione o pacote JAR obtido após o download e descompressão.
Se você operar no MySQL, a seguinte importação não relatará um erro:
importação com.mysql.jdbc.connection;
Além disso, você também precisa de pacotes JDBC, basta importá -los diretamente.
importar java.sql.driverManager; importar java.sql.resultset; importar java.sql.sqLexception;
3. Operações básicas do JDBC
Por simplicidade, as operações, comandos e parâmetros relacionados ao banco de dados são codificados. Os leitores interessados podem explorá -los para reduzir o acoplamento entre dados e operações.
Vamos primeiro olhar para o código e a prática específicos.
Todos os métodos e membros de dados abaixo estão dentro da classe pública JDBCoperation.
(1) Defina a classe de registro (opcional)
Isso é feito principalmente para facilitar a definição de operação e interface e não é necessário.
static class Student { private String Id; private String Name; private String Sex; private String Age; Student(String Name, String Sex, String Age) { this.Id = null; //default this.Name = Name; this.Sex = Sex; this.Age = Age; } public String getId() { return Id; } public void setId(String Id) { this.Id = Id; } public String getName() { return Name; } public void SetName (Nome da String) {this.name = Name;(2) Recuperação da conexão
A conexão com o banco de dados deve ser obtida antes da operação.
Participação estática GetConn () {String Driver = "com.mysql.jdbc.driver"; Ection (URL, nome de usuário, senha); E.PrintStackTrace ();(3) inserir
private static int insert (aluno) {Connection Conn = getConn (); ing (2, Student.getSex ()); pstmt.executeUpdate ();(4) Atualização
private static int update (aluno) {Connection Conn = getConn (); System.out.println ("Resutl:" + i); Conn.Close ();(5) Selecione
Tome selecione * de xxx como exemplo.
estático privado getall () {Connection Conn = getConn (); ("==========================="); (int i = 1; i <= col; i ++) {System.out.print (rs.getString (i)+"/t"); ================= ");} Catch (sqLexception e) {e.printStackTrace ();} retorna null;}(6) Excluir
private static int exclua (nome da string) {Connection Conn = getConn (); ; E.PrintStackTrace ();4. Teste
Antes do teste, o serviço de banco de dados correspondente precisa ser aberto no sistema. O comando de inicialização do MySQL no Windows é let start mysql
Código de teste
public static void main (string args []) {jdbcoperation.getall (); .getall ();}Saída no eclipse
============================= 1 ENDEREÇO MASCO 8 2 MASCOS DE feijão 6 3 Petra fema 9 4 Peter Male 9 5 _Graff Male masculino 6 3 petra fema 9 4 Peter masculino 9 5 _Graff masculino 40 6 Deus fema 255 7 Aquiles masculino 14 ============================= Resutl: 1RESUTL: 1 ============================== 1 ENERGE ====
V. Análise de código
No processo acima de adicionar, excluir, modificar e pesquisar no banco de dados, ele pode ser encontrado em comum, ou seja, um processo comum:
(1) Crie objeto de conexão e string de comando de consulta SQL;
(2) passe o comando SQL Query para o objeto de conexão e obtenha o objeto PreparedStatement;
(3) Execute ExecuteUpdate () ou ExecuteQurey () no objeto preparado para obter o resultado;
(4) Feche o objeto preparado e o objeto de conexão um após o outro.
Pode -se observar que, ao usar o JDBC, os tipos mais comuns de contato são a conexão e a estatamento preparado e a classe ResultSet em selecionamento.
Conexão
Java.SQL
Conexão
Todas as super interfaces: invólucro
----------------------------------------------------------------------------------
Interface pública ConnectionExtends Wrapper
Conexão (sessão) para um banco de dados específico. Execute as instruções SQL no contexto da conexão e retorne o resultado.
O banco de dados do objeto de conexão pode fornecer informações que descrevem suas tabelas, sintaxe SQL suportada, procedimentos armazenados, essa função de conexão e assim por diante. Esta informação é obtida usando o método getMetadata.
Preparadostatemnt
Java.SQL
Interface de estatamento preparado
Todas as super interfaces: Declaração, invólucro todos os subinterfaces conhecidos: Callablestatement
----------------------------------------------------------------------------------
Declaração de interface pública Preparada de Estrutamento
Um objeto que representa uma instrução SQL pré -compilada.
As instruções SQL são pré -compiladas e armazenadas em objetos preparados. Esta declaração pode ser executada com eficiência várias vezes usando esse objeto.
Métodos comuns
Execute booleano ()
Executa uma instrução SQL neste objeto preparado, que pode ser qualquer tipo de instrução SQL.
ResultSet ExecuteQuery ()
Executa uma consulta SQL neste objeto preparado e retorna o objeto ResultSet gerado pela consulta.
int executeUpdate ()
Execute as instruções SQL neste objeto preparado, que deve ser uma instrução SQL Data Manipulation Language (DML), como uma instrução de inserção, atualização ou exclusão ou uma instrução SQL sem conteúdo de retorno, como uma instrução DDL.
Resultado
Java.SQL
Interface ResultSet
Todas as super interfaces: Wrapper Todos os subinterfaces conhecidos: CachedRowset, FilledRowset, JDBCrowset, JoinRowset, linhas, syncresolver, webrowset
----------------------------------------------------------------------------------
interface pública Resultados do Wrapper
Uma tabela de dados que representa um conjunto de resultados de banco de dados geralmente é gerada executando uma instrução consultando o banco de dados.
6. Pense em problemas
1. Cada operação do SQL requer estabelecer e fechar a conexão, o que inevitavelmente consumirá muita sobrecarga de recursos.
Análise: O agrupamento de conexões pode ser usado para executar a manutenção unificada de conexões sem precisar estabelecer e fechá -las todas as vezes. De fato, é isso que muitas ferramentas para encapsular o JDBC são usadas.
2. No código Java, o que devo fazer se o formato dos dados recebidos for diferente da definição do banco de dados? Por exemplo, atribua objeto Java String ao atributo tinyint do banco de dados.
Análise: Ao executar as instruções SQL, o banco de dados tentará converter. De acordo com o meu experimento, se você passar o atributo de idade de Tinyint com uma letra pura usando um objeto String, ele será convertido para 0. As regras de conversão específicas devem estar relacionadas ao banco de dados.
O acima é todo o conteúdo deste artigo.