Tabla de contenido
Hola a todos, soy Little Grey Ape, un programador que puede escribir errores,
Hoy me gustaría compartir con ustedes el uso específico de las clases de herramientas e interfaces de uso común para la conveniencia de la manipulación de datos cuando se usa jdbc para conectarse a la base de datos, y una explicación de la tecnología del grupo de conexiones de la base de datos jdbc de Java, amigos interesados. artículo " No, no, no, ¡hay personas que no conocen la tecnología del grupo de conexiones JDBC! ",
En el desarrollo de aplicaciones de base de datos Java, a menudo realizamos una serie de operaciones como agregar, eliminar, modificar y verificar los datos almacenados en la base de datos. Sin embargo, si las declaraciones SQL se ejecutan de acuerdo con las interfaces tradicionales Statement y PreparedStatement, es no solo es incómodo de usar, y aumentará en gran medida la cantidad de nuestro código, por lo que en las operaciones reales de la base de datos, a menudo usamos la clase de herramienta de base de datos QueryRunner clase y la interfaz ResultHandler,
Y en circunstancias normales, esta clase y esta interfaz se utilizan en combinación, es decir, la clase QueryRunner procesa las declaraciones sql y la interfaz ResultHandler procesa el conjunto de resultados devuelto.
Luego, compartiré contigo los métodos específicos para usarlos:
Primero, use la clase QueryRunner para importar el paquete jar correspondiente,
Estoy usando commons-dbutils-1.6.jar, la dirección de descarga oficial del paquete jar:
http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi
Clase QueryRunner
La función principal de la clase QueryRunner es procesar sentencias SQL. Los métodos más utilizados de esta clase son los siguientes:
consulta()
El método Query () se utiliza para la consulta de datos. Los parámetros más utilizados en este método son los siguientes:
conn: la conexión utilizada para ejecutar la consulta.
sql: la consulta que se ejecutará.
parámetros de reemplazo de parámetros.
rsh: el controlador que convierte el resultado en un objeto.
actualizar()
El método Update () se utiliza para agregar, eliminar y modificar. Los parámetros más utilizados en este método son los siguientes;
conn: la conexión utilizada para ejecutar la consulta.
sql: el SQL que se ejecutará.
parámetro de reemplazo de parámetros.
lote()
batch () se utiliza para el procesamiento por lotes, se utiliza para ejecutar un lote de consultas SQL INSERT, UPDATE o DELETE.
Los parámetros incluidos son:
conn: la conexión utilizada para ejecutar la consulta. La persona que llama es responsable de cerrar esta conexión.
sql: el SQL que se ejecutará.
matriz de parámetros de reemplazo params-query. Cada fila de esta matriz es un conjunto de valores de reemplazo de lote.
El valor de retorno es el número de filas actualizadas por cada declaración.
Interfaz ResultHandler
La interfaz ResultHandler se utiliza para procesar el conjunto de resultados, que puede convertir el conjunto de resultados de la consulta en un objeto Java, y proporciona 4 clases de implementación:
BeanHandler
Asignar el conjunto de resultados a objetos java
BeanListHandler
Asignar el conjunto de resultados a una colección List
MapHandler
Asignar el conjunto de resultados a un conjunto de mapas
MapListHandler
Asignar el conjunto de resultados a una colección MapList
caso de estudio
A continuación, te mostraré cómo usarlo con casos reales:
Ejemplo 1: consultar toda la información del estudiante cuyo id es 30 y mapear el resultado a un objeto Java
ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");
Connection connection = cds.getConnection();
String sqlString = "select * from emp_table where id=30";
QueryRunner queryRunner = new QueryRunner();
Student student=queryRunner.query(connection, sqlString, new
BeanHandler(Student.class));
System.out.println(student.getName());
Ejemplo 2: consultar toda la información del alumno con el nombre y la edad especificados, y asignar el resultado a un objeto Java
ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");
Connection connection = cds.getConnection();
String sqlString = "select * from emp_table where name=? and age=?";
QueryRunner queryRunner = new QueryRunner();
Student student=queryRunner.query(connection, sqlString, new
BeanHandler(Student.class),"李四",22);
System.out.println(student.getName());
Ejemplo 3: consultar una tabla de datos y asignar todos los resultados de la tabla a una colección de listas
ComboPooledDataSource cds = new ComboPooledDataSource("testc3p0");
Connection connection = cds.getConnection();
String sqlString = "select * from emp_table";
QueryRunner queryRunner = new QueryRunner();
List<Student> students=queryRunner.query(connection, sqlString, new
BeanListHandler<Student>(Student.class));
for (Student student : students) {
System.out.println(student.getName());
}
Ejemplo 4: insertar datos especificados en una tabla de datos
String sqlString="insert into emp_table(name,age) values (?,?)";
QueryRunner queryRunner = new QueryRunner();
int i = queryRunner.update(connection, sqlString, "赵六",68);
System.out.println(i);
Finalmente, implementé un sistema simple de administración de información de empleados usando la clase QueryRunner y la interfaz ResultHandler, que puede agregar, eliminar, modificar y verificar información básica de los empleados. El efecto es el siguiente:
Los amigos interesados pueden descargar el código fuente para aprender aquí:
Enlace: https://pan.baidu.com/s/1-zAT7wAaxzp1ZHN0M_uY0w Código de extracción: lgcr
En cuanto al uso de herramientas de base de datos de conexión JDBC, lo compartiré con mis amigos aquí, espero que puedan criticar y corregir cualquier deficiencia.
¡Siéntete bien, recuerda dar me gusta y seguir !
¡El lobo feroz os acompaña para progresar juntos!