¿Cómo accede Java a la base de datos (Java accede a la base de datos mysql)?
Java puede usar JDBC para acceder a la base de datos, o usar varios tipos de marcos ORM para acceder a la base de datos, pero estos marcos finalmente acceden a la base de datos a través de JDBC. Solo encapsulan las operaciones de la base de datos, lo que permite a los desarrolladores reducir el consumo. esta parte. Por lo tanto, este artículo sólo cubre los métodos de acceso JDBC.
El acceso a JDBC generalmente se divide en los siguientes procesos:
1. Cargar el controlador JDBC:
Antes de conectarse a la base de datos, lo primero que debe hacer es. El controlador para conectarse a la base de datos se carga en la JVM (Java Virtual Machine) a través del método estático forName(StringclassName) de la clase java.lang.Class.
Por ejemplo:
pruebe{
/Cargue la clase del controlador MySql
Class.forName("com.mysql.jdbc. Driver");
}catch(e){
System.out.println( "¡No se encontró la clase de controlador, falló la carga del controlador!") )
e.();
}
Una carga exitosa registra una instancia de la clase de controlador en la clase.
2. Proporcione una URL de conexión JDBC
La URL de conexión define el protocolo, el subprotocolo y el identificador de fuente de datos al conectarse a la base de datos.
Escrito de la siguiente forma: protocolo: subprotocolo: identificador de fuente de datos
Protocolo: siempre comienza con jdbc en JDBC
Subprotocolo: es un puente El nombre de el controlador o el sistema de gestión de bases de datos al que está conectado.
Identificador de fuente de datos: Marca la dirección y puerto de conexión donde se encuentra la fuente de la base de datos.
Ejemplo: (URL de conexión MySQL)
jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;
useUnicode=true: Indica el uso del juego de caracteres Unicode. Si se establece en
gb2312 o GBK, este parámetro debe establecerse en verdadero. =gbk: método de codificación de caracteres.
3. Cree una conexión a la base de datos
Para conectarse a la base de datos, necesita solicitar y obtener un objeto de conexión de java.sql, que representa la conexión a la base de datos.
Utilice el método (Stringurl,Stringusername,Stringpassword) para pasar la ruta, el nombre de usuario de la base de datos y la contraseña de la base de datos especificada a la que desea conectarse.
Por ejemplo:
//Utilice el nombre de usuario y la contraseña raíz para conectarse a la base de datos MySql
Stringurl="jdbc:mysql://localhost:3306 /test";
Stringusername="root";
Stringpassword="root";
prueba{
Connectioncon= p>
.(url,nombre de usuario,contraseña);
}catch(se){
System.out.println("¡Error en la conexión de la base de datos!") ; p>
se.();
}
4, Crear una declaración
Para ejecutar una declaración SQL, debe obtener un java.sql .Instancia de declaración. Las instancias de declaración se dividen en los siguientes tres tipos:
1. Ejecutar declaraciones SQL estáticas. Generalmente se implementa a través de una instancia de Declaración.
2. Ejecutar sentencias SQL dinámicas. Generalmente implementado a través de ejemplos.
3. Ejecutar el procedimiento almacenado de la base de datos. Generalmente implementado a través de ejemplos.
Implementación específica:
Statementstmt=con.();
PreparedStatementpstmt=con.prepareStatement(sql);
CallableStatementcstmt= con .prepareCall("{CALLdemoSp(?,?)}") )
5. Ejecutar sentencias SQL
La interfaz Statement proporciona tres métodos para ejecutar sentencias SQL: ejecutarQuery, ejecutarActualizar y ejecutar
1.ResultSetexecuteQuery(StringsqlString): Ejecuta la instrucción SQL que consulta la base de datos y devuelve el objeto del conjunto de resultados (ResultSet).
2.intexecuteUpdate(StringsqlString): se usa para ejecutar declaraciones INSERT, UPDATE o DELETE y declaraciones SQLDDL, como CREATETABLE y DROPTABLE
3, ejecutar(sqlString): se usa para ejecutar devoluciones Declaraciones con múltiples conjuntos de resultados, múltiples recuentos de actualizaciones o una combinación de ambos.
Implementación específica del código:
ResultSetrs=stmt.executeQuery("SELECT*FROM...") ;
introws=stmt.executeUpdate(" INSERTINTO...") ;
booleanflag=stmt.execute(Stringsql);
6. Procesamiento de resultados
Dos situaciones:
1.ExecuteUpdate devuelve el número de registros afectados por esta operación.
2. Al ejecutar la consulta se devolverá un objeto ResultSet.
Un ResultSet contiene todos los registros que coinciden con las condiciones de la declaración SQL y se puede acceder a los datos de estos registros a través de un conjunto de métodos get.
Utilice el método de acceso del objeto ResultSet para obtener datos:
while(rs.next()){
Stringname=rs.getString("name ");
Stringpass=rs.getString(1);//este método es más eficiente (las columnas están numeradas de izquierda a derecha y comienzan desde la columna 1)
}
7. Cierre los objetos JDBC
Una vez completada la operación, debe cerrar todos los objetos JDBC utilizados para liberar los recursos JDBC. El orden de cierre es inverso al orden de declaración:
1. Cierra el conjunto de registros
2
3 Cierra el objeto de conexión
if (rs!=null){//Cierra el conjunto de registros
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace( );
}
}
if(stmt!=null){/ Cerrar declaración
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace ();
}
} p>
if(conn!=null) {/objeto de conexión de cierre
try{
conn.close();
}catch(SQLExceptione ){
e.