DBUtils 简单使用

本贴最后更新于 787 天前,其中的信息可能已经时移世异

一、什么是数据库

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

二、JDBC驱动程序

JDBC(java database connectivity)驱动程序是对JDBC规范完整的实现,它的存在在JAVA程序与数据库系统之间建立了一条通信的渠道。

三、上案例

1.介绍
DBUtils封装了JDBC的操作,核心功能如下:
	1、QueryRunner中提供对sql语句操作的API.
	2、ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
	3、DbUtils类是一个工具类,定义了关闭资源与事务处理的方法
QueryRunner核心类:
	update(Connection conn, String sql, Object... params) ,执行insert update delete操作
	query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,执行 select操作

ResultSetHandler结果集处理类:

image.png

2.坐标
<!-- mysql数据库驱动 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.38</version>
</dependency>
<!-- 数据库连接工具包 -->
<dependency>
	<groupId>commons-dbutils</groupId>
	<artifactId>commons-dbutils</artifactId>
	<version>1.6</version>
</dependency>
3.jdbc工具类

public class JDBCUtils {

	public static Connection getConnection() {
		//定义数据库连接 
        String url="jdbc:mysql://127.0.0.1:3306/nmb?useUnicode=true&characterEncoding=utf-8";
        String user="root";
        String password="123456";
		//定义数据库连接对象
		Connection conn = null;
		try {
			//你导入的数据库驱动包, mysql。
			conn = DriverManager.getConnection(url, user,password);
		}catch (Exception e) {
			e.printStackTrace();
		}
		return conn;
	}
}
4.crud案例

新增

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "insert into tb_lemon_emp values(?,?,?)";
qr.update(sql, 12,"张辽",0);

修改

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "update tb_lemon_emp set name=? where id = ?";
qr.update(sql, "周瑜",1);

删除

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "delete from tb_lemon_emp where id = ?";
qr.update(sql,1);

查询ScalarHandler

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "select count(*) from tb_lemon_emp ";
long count = qr.query(conn, sql, new ScalarHandler<Long>());
System.out.println("count :" + count);

查询BeanHandler

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "select * from tb_lemon_emp where id = ?";
Emp emp = qr.query(conn, sql, new BeanHandler<Emp.class>(),1);
System.out.println("emp :" + emp);

查询BeanListHandler

QueryRunner qr = new QueryRunner(JDBCUtils.getConnection());
String sql = "select * from tb_lemon_emp ";
List<Emp> list = qr.query(conn, sql, new BeanListHandler<Emp.class>());
System.out.println("list :" + list);
1 操作
luojie 在 2020-08-06 17:38:44 更新了该帖
回帖
请输入回帖内容 ...