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 ();