Declaración PreparedStatement 与

operación de base de datos de declaración:
ABM: utilizando el executeUpdate ();
consulta: Uso del executeQuery ();

El conjunto de resultados: * Guardar conjunto de resultados de XXX SELECT
siguiente (): cursor hacia abajo, determina si los próximos datos; true / false
anterior (): true / false
getXXX (nombres de campo | posición): Obtener un valor de campo específico de la

empaquetar JDBC; 

importación java.sql.Connection;
importación java.sql.DriverManager;
importación java.sql.ResultSet;
importación java.sql.SQLException;
importación java.sql.Statement; 


público  de clase JDBCDemo {
     privado  última URL String = "jdbc: mysql: // localhost: 3306 / java useSSL = false" ;
    privada  última cadena usuario = "raíz" ;
    privada  última CONTRASEÑA String = "123456" ;
    pública  nula actualización () { // 实现增删改 
        conexión Conexión = nula; 
        La Declaración stmt = nula ;
         el try {
             // Una conducción introducido. 
            El Class.forName ( "com.mysql.jdbc.Driver" );
             // B establecer una conexión con una base de datos. 
            Conexión =   la DriverManager.getConnection (la URL, usuario, contraseña);
             // . C de transmisión de SQL, adiciones y supresiones a cabo, comprobar 
            stmt = Connection.createStatement ();
             // cadena SQL = "INSERT INTO libro (nombre ,. precio) valores ( 'novela', 50)";
             // String = SQL " Actualizar el nombre del libro fijados = 'científica' WHERE lo anterior mencionado Identificación = 17 "; 
            cadena SQL =" libro del Eliminar del DONDE lo anterior mencionado ID = 19 " ;
            //d执行sql语句. 
            stmt.executeUpdate (sql); 
        } Catch (Exception e) {
             // generada automáticamente TODO captura bloque 
            e.printStackTrace (); 
        } Finalmente {
             tratar {
             si (stmt =! Nula stmt.close ());
            si (! conexión = nula ) connection.close (); 
        } Catch (SQLException e) { 
            e.printStackTrace (); 
            } 
        } 
    } 
    Pública  vacío consulta () { // 实现查询
        Conexión = conexión nula ; 
        la Declaración stmt = nula ; 
        el conjunto de resultados RS = nula ;
         el try {
             // Una conducción introducido. 
            El Class.forName ( "com.mysql.jdbc.Driver" );
             // . B establecer una conexión con una base de datos 
            de conexión =   DriverManager. getConnection (el URL de, usuario, contraseña);
             // . c enviar SQL, adiciones y supresiones de realizar, comprobar 
            stmt = Connection.createStatement (); 
            cadena SQL = "libro de la SELECT *" ;
             //ejecución SQL [CRUD executeUpdate (), consulta la executeQuery ()] 
            RS = stmt.executeQuery (SQL);
             // proceso como resultado 
            el tiempo (rs.next ()) { // determina si hay un siguiente de datos de línea 
                de cuerda na = rs.getString ( "nombre" ); 
                cadena PRI = rs.getString ( "precio." ); 
                System.out.println (Na + "-" + PRI); 
            } 
        } la captura (Exception e) {
             // el TODO Auto Bloquear la captura-Generated 
            e.printStackTrace (); 
        } finally {
             try {
                 SI(! rs = nula ) rs.close ();
                si (! stmt = nula ) stmt.close ();
                si (! conexión = nula ) connection.close (); 
        } Catch (SQLException e) { 
            e.printStackTrace (); 
            } 
        } 
    } 
    Pública  estáticas  void principales (args String []) { 
        JDBCDemo j = nuevo JDBCDemo ();
        // j.update (); 
        j.query (); 
    } 
}

PreparedStatement funcionamiento de la base de datos:

interfaz pública PreparedStatement extiende Declaración
Así
CRUD: executeUpdate ()
Consulta: la executeQuery ();
- por otra parte
asignación setXXX ();

empaquetar JDBC; 

importación java.sql.Connection;
importación java.sql.DriverManager;
importación java.sql.PreparedStatement;
importación java.sql.ResultSet;
importación java.sql.SQLException; 

público  de clase JDBCPreparedStatement {
     privado  última URL String = "jdbc: mysql: // localhost: 3306 / java useSSL = false" ;
    privada  última cadena usuario = "raíz" ;
    privada  última CONTRASEÑA String = "123456" ;
    pública  nula actualización () { // 实现增删改 
        conexión Conexión =nula ; 
        PreparedStatement pstmt = nula ;
         el try {
             // Una conducción introducido. 
            la Class.forName ( "com.mysql.jdbc.Driver" );
             // . B establecer una conexión con una base de datos 
            de conexión =   la DriverManager.getConnection (la URL, usuario, contraseña) ;
             // c enviar SQL, adiciones y supresiones de realizar, comprobar. 
            cadena SQL = "valores INSERT en el libro (,, ???)" ; 
            pstmt = Connection.prepareStatement (SQL); 
            
            pstmt.setString ( 1, "al lado" ); 
            pstmt.setString ( 2, "56 es" );
            pstmt.setInt ( 3, 21 );
            // cadena SQL = "inserto en libro (nombre, precio) valores ( '小说', 50)";
            // cadena SQL = "nombre del conjunto de libros de actualización = '科学' donde id = 17"; 
            
            pstmt.executeUpdate (); 
        } Catch (Exception e) {
             // generada automáticamente TODO captura bloque 
            e.printStackTrace (); 
        } Finalmente {
             tratar {
             si (pstmt =! Nula pstmt.close ());
            si (! conexión = nula ) connection.close (); 
        } catch (SQLException e) {
            e.printStackTrace (); 
            } 
        } 
    } 
    pública  vacío Query () { 
        Conexión Conexión = nula ; 
        PreparedStatement pstmt = nula ; 
        el conjunto de resultados RS = nula ;
         el try {
             // conducción introdujo una. 
            la Class.forName ( "com.mysql.jdbc.Driver " );
             // . B establecer una conexión a una base de datos 
            de conexión =   la DriverManager.getConnection (la URL, usuario, contraseña);
             // C de transmisión de SQL, adiciones y supresiones a cabo, de búsqueda.
            SQL = cadena de caracteres "de la instrucción SELECT * Libro del DONDE lo anterior mencionado ID =?" ; 
            Pstmt = Connection.prepareStatement (SQL); 
            
            pstmt.setInt ( 1, 21 );
             // ejecutar SQL [ABM executeUpdate (), executeQuery consulta ()] 
            rs = pstmt.executeQuery ();
             // proceso como resultado 
            el tiempo (rs.next ()) { // determina si hay una próxima línea de datos 
                String = Na rs.getString ( "nombre" ); 
                cadena PRI = rs.getString ( "precio" ) ; 
                System.out.println (Na + "-" + PRI); 
            } 
        } la captura(Exception e) {
             // generada automáticamente TODO captura bloque 
            e.printStackTrace (); 
        } Finalmente {
             tratar {
                 si (rs =! Nula ) rs.close ();
                si (! pstmt = nula ) pstmt.close ();
                si (! conexión = nula ) connection.close (); 
        } Catch (SQLException e) { 
            e.printStackTrace (); 
            } 
        } 
    } 
    Pública  estática  vacío  main (String [] args) {
        JDBCPreparedStatement j = nuevo JDBCPreparedStatement ();
        / * J.update (); * / 
        J.query (); 
    } 
}

PreparedStatement y la Declaración de las diferencias en el uso de:

De la Declaración:
1, SQL definido

Cadena SQL = "inserto en libro (nombre, precio) valores ( '小说', 50)";
2, stmt.executeUpdate (sql);

Declaración preparada:

1, sql definido

Cadena SQL = "inserto en el libro (nombre, precio) valores (?,?,?)";
pstmt = Connection.prepareStatement (sql); //预编译SQL
pstmt.setString (1, "隔壁" );

pstmt.setString (2, "56" );
pstmt.setInt (3, 21 );

2, pstmt.executeUpdate ();

 

Supongo que te gusta

Origin www.cnblogs.com/hsy-go/p/12511734.html
Recomendado
Clasificación