notas de estudo Java JDBC

1.JDBC 

   Java DataBasue Conectividade, java e ligação à API de banco de dados;

   Pode ser ligado a diferentes bases de dados em diferentes carregamento de banco de dados "driver"

A operação básica do banco de dados os passos 2.JDBC

  Importação de classe do driver de banco de dados correspondente ao desenvolvimento

 1) Unidade de registro: Class.forName ( "com.mysql.jdbc.Driver")

 2) criar uma ligação: Ligação conn = DriverManager.getConnection (URL, o utilizador, passe);

 3) Criar uma instrução SQL:

     Use Declaração

ST = Declaração nula ;
 // Get para transmitir instrução SQL para a Declaração de banco de dados 
ST = conn.createStatement ();
 // de envio para o Banco de Dados SQL 
seqüência SQL = "SELECT ID, nome, senha, E-mail, Aniversário de usuários" ;
st.executeQuery (SQL);

     Use prepareStatement: injeção de SQL para problemas Evitar

PreperedStatement r = nulo ;
Cordas sql = "SELECT * FROM usuários onde name =? E password =?" ;
 
// se acostumar para enviar instruções SQL para o banco de dados de Preperedstatement 
ST = conn.preparedStatement (sql); // na entrada, pré-compilados 
st.setString (1 , nome de usuário);
st.setString ( 2 , password);
 // enviar para o banco de dados SQL 
st.executeQuery (); // necessário aqui sql de entrada

4) executar instrução: rs = Resultado st.executeQuery ();

5) Feche o recurso: Depois de criar o primeiro fechamento

se (pr! = nulo ) {
   pr.close ();
}
se (rs! = nulo ) {
    rs.Close ();
}
se (con! = nulo ) {
   con.close ();
}

3. Package JDBC

  fonte de dados de importação e de condução

  

 

   1) lib.properties Perfil

druid.url = jdbc: mysql: // localhost: 3306 / jdbc_db useSSL = false & serverTimezone = UTC & allowPublicKeyRetrieval = true 
druid.username = raiz
druid.password = 1234

  2) arquivo de pacote JDBC JdbcUtil.java

empacotar com.dxj.util;
importação java.io.FileInputStream;
importação Java.io.IOException;
importação java.sql.Connection;
importação java.sql.PreparedStatement;
importação java.sql.ResultSet;
importação java.sql.SQLException;
importação java.util.Properties;

importação com.alibaba.druid.pool.DruidDataSource;
/ **
 * Pacote JDBC
 * @Author Administrator
 *
 * / 
Public  class JdbcUtil {
     // Criar um objeto de fonte de dados 
    Privado  estática DruidDataSource DS;
     // criar uma conexão objeto 
    Privada  estática CON Connection;
     // Criar objeto prepareStatement 
    Privada  estática do PreparedStatement PR;
     // uso de consulta 
    Privada  estática ResultSet RS;
    
    estática {
        iniciar();
    }
    
    / **
     * Criar um objeto de fonte de dados, lê o arquivo de configuração
     * / 
    Public  estática  anular o init () {
         // fonte de dados Ali Druid 
        DS = new new DruidDataSource ();
        
        Pro Propriedades = new new Propriedades ();
         o try {
             // ler o arquivo de configuração 
            pro.load ( new new FileInputStream ( "COM \\ DXJ o src \\ \\ \\ lib.properties Resource" ));
        } Prendedor (IOException e) {
            e.printStackTrace ();
        }
        // perfil 
        ds.configFromPropety (pro);
    }
    
    / **
     * Get Connection () Objeto
     * / 
    Público  estático  vazio connect () {
         try {
            con = ds.getConnection ();
        } Captura (SQLException e) {
            e.printStackTrace ();
        }
    }
    
    / **
     * Obter objetos prepareStatement
     * @param sql
     * @Param valores
      * / 
    público  estático  vazio prepareStatement (String sql, Objeto ... valores) {
         try {
            PR = con.prepareStatement (SQL);
            para ( int i = 0; i <values.length; i ++ ) {
                pr.setObject (i 1 , os valores de [i]);
            }
        } Captura (SQLException e) {
            
            e.printStackTrace ();
        }
        
    }
    / **
     * Realizar adicionar, excluir, alterar
     * / 
    Público  estático  vazio update () {
         try {
            pr.executeUpdate ();
        } Captura (SQLException e) {
            e.printStackTrace ();
        }
    }
    
    / **
     * Realizar consulta de operações
     * @Return 
     * / 
    público  estático consulta ResultSet () {
         tente {
            rs = pr.executeQuery ();
        } Captura (SQLException e) {
            e.printStackTrace ();
        }
        voltar rs;
    }
    
    / **
     * Feche a operação
     * / 
    Público  estático  vazio close () {
         try {
             se (rs! = Nulo ) {
                rs.Close ();
            }
            se (pr! = nulo ) {
                pr.close ();
            }
            se (con! = nulo ) {
                con.close ();
            }
        } Captura (SQLException e) {
            e.printStackTrace ();
        }
    }    
}

3) Teste

Pacote com.dxj.test;
importação java.util.Random;
importação com.dxj.util.JdbcUtil;
público  classe JianTest {

    pública  estática  vazios principais (String [] args) {
        Aleatório RAN = new aleatório ();
        JdbcUtil.connect ();
        Cordas jian = "apagar da test01_tab onde u_id>?" ;
        JdbcUtil.prepareStatement (jian, "5210" );
        JdbcUtil.update ();
        JdbcUtil.close ();
    }

}

4. pool de conexão de banco de dados

    Como a criação de conexões e liberação de conexão tem muita sobrecarga (especialmente quando o servidor de banco de dados não é local, cada vez que uma conexão precisa ser TCP de três vias aperto de mão, a liberação de conexões TCP requerem quatro vias aperto de mão, a sobrecarga causada não pode ser ignorado) a fim de melhorar o desempenho do sistema para acessar o banco de dados, você pode criar uma série de pré-conexão no pool de conexão, disponível directamente a partir do pool de conexão quando necessário, devolvido no final do uso de pool de conexão sem ter que fechar a conexão
  conexão pool de conexão do banco de dados é criado e gerenciado na piscina quando o servidor de aplicativos começa;
   A solicitação de conexão por um pool de conexões de banco de dados;
  Após o fim do pedido de conexão é retornada para o pool para reutilização posterior;
  A fim de evitar criar frequente e libertar a sobrecarga causada pela ligação, o que é típico com espaço para a estratégia de tempo (os resíduos de ligação do espaço de armazenamento, mas poupa o tempo para criar e ligações de libertação )
  tecnologia piscina em desenvolvimento Java é muito comum, para criar um thread do pool ao utilizar este mesmo motivo
  baseado em Java open source pool de conexão de banco de dados, principalmente: C3P0, Proxool, DBCP, BoneCP, Druid e assim por diante.
Declaração 5.JDBC 和 Preparement
   Em comparação com a Declaração:
  1) Interface PreparedStatement representa uma instrução pré-compilado, a sua principal vantagem é que ele pode reduzir a erros de compilador SQL e aumentar a segurança de SQL (ataque injecção SQL para reduzir a probabilidade de);
  2) declarações PreparedStatement SQL pode ser parametrizado, para evitar o problema e insegurança conexão de emenda com uma série de instruções SQL;
  3) Quando o lote SQL ou freqüentam a mesma consulta, PreparedStatement tem vantagens óbvias em termos de desempenho, porque o banco de dados pode ser compilado instruções SQL otimizadas em cache, da próxima vez que a instrução é executada a mesma estrutura em breve (não novamente compilação e plano de execução)
 

Acho que você gosta

Origin www.cnblogs.com/dxjx/p/12545755.html
Recomendado
Clasificación