Prefacio: ¿Qué es JDBC?
Java Database Connectivity (JDBC) es una interfaz del programa de aplicación utilizada en el idioma Java para regular cómo los programas de clientes acceden a las bases de datos, proporcionando métodos como consultar y actualizar datos en la base de datos. JDBC también es una marca registrada de Sun Microsystems. Es JDBC para bases de datos relacionales.
En pocas palabras, es una API Java utilizada para ejecutar declaraciones SQL a través de JDBC, podemos usar directamente la programación de Java para operar en bases de datos relacionales. A través de la encapsulación, los desarrolladores pueden usar API Java puras para completar la ejecución de SQL.
1. Trabajo de preparación (i): Configuración de instalación de MySQL y aprendizaje básico
Antes de usar JDBC para operar una base de datos, primero debe tener una base de datos. Aquí hay 3 enlaces para que los lectores aprendan por sí mismos.
MySQL Descarga, instalación, implementación y tutorial de operaciones gráficas detalladas: //www.vevb.com/article/87690.htm
Se recomienda leer el tutorial y la práctica introductorios mientras practica operaciones básicas como insertar, actualizar, seleccionar, eliminar, etc., mientras construye la tabla que desea usar más adelante.
La siguiente figura es la tabla de la base de datos que usaré para la próxima demostración.
2. Trabajo de preparación (2): Descargue el paquete JAR correspondiente de la base de datos e importelo
El uso de JDBC requiere importar el paquete JAR correspondiente en el proyecto. La correspondencia entre la base de datos y el paquete JDBC puede consultar el paquete JAR, el nombre de la clase del controlador y el formato de URL correspondiente a varias bases de datos. Método de importación en Eclipse:
Haga clic derecho en el icono del proyecto, seleccione "Propiedades", seleccione "Agregar frascos externos ..." en "Java Bulid Rath" y seleccione el paquete JAR que obtuvo después de descargar y descomprimir.
Si opera en MySQL, la siguiente importación no informará un error:
import com.mysql.jdbc.connection;
Además, también necesita paquetes JDBC, solo importarlos directamente.
import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception;
3. Operaciones básicas de JDBC
Para simplificar, las operaciones, comandos y parámetros relacionados con la base de datos están codificados. Los lectores interesados pueden explorarlos para reducir el acoplamiento entre datos y operaciones.
Primero veamos el código y la práctica específicos.
Todos los métodos y miembros de datos a continuación están dentro de la clase pública JDBCoperation.
(1) Defina la clase de registro (opcional)
Esto se hace principalmente para facilitar la definición de operación e interfaz, y no es necesario.
Estudiante de clase estática {Nombre de la cadena privada; public void setName (name de cadena) {this.name = name;(2) Recuperación de la conexión
La conexión a la base de datos debe obtenerse antes de la operación.
Conexión estática getConn () {String Driver = "com.mysql.jdbc.driver"; nección (url, nombre de usuario, contraseña); E.PrintStackTrace ();(3) Insertar
Insertar static intero (Estudiante) {Connection Conn = GetConn (); 2, Student.getSex ()); pstmt.ExCuteUpdate ();(4) Actualizar
Private static int Update (Student Student) {Connection Conn = GetConn (); System.out.println ("Resutl:" + i); conn.close ();(5) Seleccione
Tome SELECT * de XXX como ejemplo.
privado static integer getAll () {Connection Conn = GetConn (); ============================ "); while (rs.next ()) {para (int i = 1; i <= col; i ++) {system.out.print (rs.getString (i)+"/t"); ================= ");} Catch (Sqlexception e) {E.PrintStackTrace ();} return null;}(6) Eliminar
Private Static int eliminar (Nombre de la cadena) {Connection Conn = GetConn (); ; E.PrintStackTrace ();4. Prueba
Antes de las pruebas, el servicio de base de datos correspondiente debe abrirse en el sistema. El comando de inicio de MySQL en Windows es Net Start MySQL
Código de prueba
public static void main (string args []) {jdbCoperation.getall (); getAll ();}Salida en Eclipse
===================. Macho 6 3 Petra Fema 9 4 Peter Male 9 5 _graff Macho 40 6 Dios Fema 255 7 Aquiles Macho 14 ============================ ====
V. Análisis de código
En el proceso anterior de agregar, eliminar, modificar y buscar la base de datos, se puede encontrar en común, es decir, un proceso común:
(1) Crear objeto de conexión y cadena de comando de consulta SQL;
(2) pase el comando de consulta SQL al objeto de conexión y obtenga el objeto Preparado
(3) ejecutar ejecututeUpdate () o ejecutequrey () en el objeto preparado para obtener el resultado;
(4) Cierre el objeto preparado y el objeto de conexión uno tras otro.
Se puede ver que cuando se usa JDBC, los tipos de contacto más comunes son la conexión y el estado preparado, y la clase ResultSet en selección.
Conexión
java.sql
Conexión
Todas las superfaces súper: envoltura
--------------------------------------------------------------------------------
interfaz pública ConnectionExtends Wrapper
Conexión (sesión) a una base de datos específica. Ejecute las declaraciones SQL en el contexto de conexión y devuelva el resultado.
La base de datos del objeto de conexión puede proporcionar información que describe sus tablas, sintaxis SQL compatible, procedimientos almacenados, esta función de conexión, etc. Esta información se obtiene utilizando el método GetMetadata.
Preparado
java.sql
Interfaz preparada
Todas las súper interfaces: Declaración, contenedor Todos los subinterfaces conocidos: CallableStatement
--------------------------------------------------------------------------------
Interfaz pública Preparado StatementExtends Declaración
Un objeto que representa una declaración SQL precompilada.
Las declaraciones SQL se precompilan y se almacenan en objetos preparados. Esta declaración se puede ejecutar de manera eficiente varias veces usando este objeto.
Métodos comunes
boolean ejecute ()
Ejecuta una instrucción SQL en este objeto PrepareStatement, que puede ser cualquier tipo de declaración SQL.
ResultSet ExecuteQuery ()
Ejecuta una consulta SQL en este objeto preparado y devuelve el objeto de conjunto de resultados generado por la consulta.
int ejecuteUpdate ()
Ejecute las declaraciones SQL en este objeto preparado, que debe ser una declaración de lenguaje de manipulación de datos SQL (DML), como una instrucción Inserción, actualización o eliminación, o una instrucción SQL sin contenido de retorno, como una declaración DDL.
Conjunto de resultados
java.sql
Interface ResultSet
Todas las súper interfaces: envoltura todas las subterfaces conocidas: Cachedrowset, FilteredRowset, JDBCrowset, JoinRowset, Rowset, SyncResolver, Webrowset
--------------------------------------------------------------------------------
Interfaz pública Resultados Ettextends envoltura
Una tabla de datos que representa un conjunto de resultados de la base de datos generalmente se genera ejecutando una instrucción consultando la base de datos.
6. Piense en los problemas
1. Cada operación SQL requiere establecer y cerrar la conexión, que inevitablemente consumirá muchas sobrecargas de recursos.
Análisis: la agrupación de conexión se puede utilizar para realizar un mantenimiento unificado de conexiones sin tener que establecerlas y cerrarlas cada vez. De hecho, esto es lo que se utilizan muchas herramientas para encapsular JDBC.
2. En el código Java, ¿qué debo hacer si el formato de los datos entrantes es diferente de la definición de la base de datos? Por ejemplo, asigne objeto de cadena Java al atributo TinyInt de la base de datos.
Análisis: al ejecutar declaraciones SQL, la base de datos intentará convertir. Según mi experimento, si pasa el atributo de edad de Tinyint con una letra pura usando un objeto de cadena, se convertirá a 0. Las reglas de conversión específicas deben estar relacionadas con la base de datos.
Lo anterior es todo el contenido de este artículo.