JAVA usa DBUtils para operar la base de datos

Resumen: Este artículo aprende principalmente cómo usar DBUtils para operar la base de datos de manera más conveniente en código Java.

Visión de conjunto

DBUtils es una práctica herramienta para el funcionamiento de bases de datos en programación Java, compacta, sencilla y práctica.

DBUtils encapsula las operaciones JDBC, simplifica las operaciones JDBC y puede escribir menos código.

usar

Listo

Si necesita utilizar la clase de herramienta DBUtils, debe importar el paquete:

commons-dbutils-1.7.jar

DBUtils encapsula el funcionamiento de la base de datos después de que se establece la conexión y tiene principalmente tres funciones principales:

1) La clase QueryRunner proporciona API para operaciones de instrucciones SQL.

2) La interfaz ResultSetHandler se utiliza para definir cómo encapsular el conjunto de resultados después de la operación de consulta.

3) La clase de herramienta DBUtils define métodos para cerrar recursos y procesar transacciones.

Método común

Método de construcción

Proporciona dos métodos de construcción con y sin fuente de datos.

 public QueryRunner();// 不提供数据源,需要手动维护Connection。
 public QueryRunner(DataSource ds);// 提供数据源,DbUtils底层自动维护连接Connection。

Operación de consulta

Admite operaciones de consulta.

 public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh);
 public <T> T query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params);
 public <T> T query(String sql, ResultSetHandler<T> rsh);
 public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params);

Operación de actualización

Apoyar la ejecución de operaciones de agregar, modificar y eliminar.

 public int update(Connection conn, String sql);
 public int update(Connection conn, String sql, Object param);
 public int update(Connection conn, String sql, Object... params);
 public int update(String sql);
 public int update(String sql, Object param);
 public int update(String sql, Object... params);

Agregar operación

Admite la ejecución de operaciones de adición y puede devolver los datos agregados.

 public <T> T insert(Connection conn, String sql, ResultSetHandler<T> rsh);
 public <T> T insert(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params);
 public <T> T insert(String sql, ResultSetHandler<T> rsh);
 public <T> T insert(String sql, ResultSetHandler<T> rsh, Object... params);

Ejecución por lotes

Admite la ejecución por lotes de operaciones de adición, modificación y eliminación.

 public int[] batch(Connection conn, String sql, Object[][] params);
 public int[] batch(String sql, Object[][] params);

Procedimiento almacenado

Admite la ejecución de la instrucción de procedimiento con error y también admite la instrucción sin procedimiento almacenado, pero no se recomienda llamar a este método para la instrucción sin procedimiento con error.

 public int execute(Connection conn, String sql, Object... params);
 public int execute(String sql, Object... params);
 public <T> List<T> execute(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params);
 public <T> List<T> execute(String sql, ResultSetHandler<T> rsh, Object... params);

Descripción de la interfaz ResultSetHandler

  • BeanHandler: encapsula la primera fila de datos en el conjunto de resultados en una instancia de JavaBean correspondiente.
  • BeanListHandler: encapsula cada fila de datos en el conjunto de resultados en una instancia correspondiente * * * * JavaBean, y luego guárdalo en la Lista.
  • ArrayHandler: convierte la primera fila de datos del conjunto de resultados en una matriz de objetos.
  • ArrayListHandler: convierta cada fila de datos en el conjunto de resultados en una matriz de objetos y luego guárdelo en la Lista.
  • MapHandler: encapsula la primera fila de datos del conjunto de resultados en un mapa, donde la clave es el nombre de la columna y el valor es el valor correspondiente.
  • MapListHandler: encapsula cada fila de datos en el conjunto de resultados en un mapa y luego lo almacena en la lista
  • ScalarHandler: coloque una columna de la primera fila del conjunto de resultados en un objeto.
    Cerrar recursos y procesamiento de transacciones

El constructor utilizado al crear el QueryRunner determina si cerrar automáticamente el recurso Connection:

1) Si se pasa la fuente de datos, la conexión se cerrará automáticamente y no es necesario pasar la conexión al llamar al método de agregar, eliminar, verificar y modificar. Este método hará que se establezca una nueva conexión cada vez que se ejecute SQL, y la conexión se desconectará después de que se ejecute SQL, y la transacción no se puede controlar a través de Connection.

2) Si no hay una fuente de datos entrante, la conexión debe cerrarse manualmente y la conexión debe pasarse manualmente al llamar al método de adición, eliminación y modificación. De esta manera, no se obtendrán nuevas conexiones cuando se ejecute SQL, y la conexión no se desconectará después de que se complete la ejecución de SQL, y las transacciones se pueden controlar en función de la Conexión entrante.

Algunas preguntas de entrevistas de alta frecuencia recopiladas en el último 2020 (todas organizadas en documentos), hay muchos productos secos, incluidos mysql, netty, spring, thread, spring cloud, jvm, código fuente, algoritmo y otras explicaciones detalladas, así como planes de aprendizaje detallados, entrevistas Clasificación de preguntas, etc. Para aquellos que necesitan obtener estos contenidos, agregue Q como: 11604713672

Supongo que te gusta

Origin blog.csdn.net/weixin_51495453/article/details/113854740
Recomendado
Clasificación