dbutil:
DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作。可以少写代码。
1.对于数据表的**读操作**,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;
2.对于数据表的**写操作**,也变得很简单(只需写sql语句)
3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能--重用已经构建好的数据库连接对象
JNDI,类似于某个框架中的配置文件,但是比它们强大多了,j2ee中的所有框架配置都可以通过它来配置,使应用更加易于配置、易于部署;
快速使用:
导入jar包(dbutils,DBCP的两包用于创建连接池吧)
创建QueryRunner对象
使用query方法执行select语句
使用ResultSetHandler封装结果集
使用DbUtils类释放资源
QueryRunner类
QueryRunner qr = new QueryRunner(DataSource ds); 它的事务是自动控制的
QueryRunner中提供对sql语句操作的API.
它主要有三个方法
query() 用于执行select
update() 用于执行insert update delete
batch() 批处理
//执行更新语句
QueryRunner queryRunner = new QueryRunner( dataSource );
queryRunner.update( "update cat set name='wang' where name='li'" );
ResultSetHandler接口
用于定义select操作后,怎样封装结果集.
//ArrayHandler:适合取1条记录。把该条记录的每列值封装到一个数组中Object[]
//ArrayListHandler:适合取多条记录。把每条记录的每列值封装到一个数组中Object[],把数组封装到一个List
中
//ColumnListHandler:取某一列的数据。封装到List中。
//KeyedHandler:取多条记录,每一条记录封装到一个Map中,再把这个Map封装到另外一个Map中,key为指定的字
段值。
//MapHandler:适合取1条记录。把当前记录的列名和列值放到一个Map中
//MapListHandler:适合取多条记录。把每条记录封装到一个Map中,再把Map封装到List中
//ScalarHandler:适合取单行单列数据
BeanHandler、BeanListHandler用得比较多:
//查询单个对象
Cat tom = queryRunner.query( "select * from cat where name='tom'", new BeanHandler<>(
Cat.class ) );
System.out.println( "tom = " + tom );
//查询列表
List<Cat> query = queryRunner.query( "select * from cat", new BeanListHandler<>(
Cat.class ) );
DBUtils类
它就是一个工具类,定义了关闭资源与事务处理的方法
---------------------------------------
连接池:
--- 类似线程池、字符串常量池
提高性能,节省创建连接、销毁连接所花费的时间
数据库连接池:手写、DBCP(jdbc自带,DataSource API)、C3P0、druid(阿里的连接池,现在都用它)
DBCP:
1、加入jar: commons-pool-1.5.6.jar
commons-dbcp-1.4.jar
2、编写配置文件(dbcp.properties)
3、使用连接池
//1. 数据库连接池第一步 去classpath下面去加载配置文件
DataSource dataSource = null;
Properties properties = new Properties();
try {
//获取配置信息,将内容保存到properties对象里面
properties.load( DBCPTest.class.getClassLoader().getResourceAsStream( "dbcp.properties" ) );
} catch (IOException e) {
e.printStackTrace();
}
//2.创建数据源,将配置信息指定给连接池对象
try {
dataSource = BasicDataSourceFactory.createDataSource( properties );
} catch (Exception e) {
e.printStackTrace();
}
//3.通过DataSource得到连接对象
Connection connection = dataSource.getConnection();
connection.createStatement().executeUpdate( "update cat set age=88 where name='li'" );
//4.连接池中拿到的连接对象一般不关闭
connection.close();
DBUtils是一款针对Java编程的数据库操作实用工具,能够显著简化JDBC操作流程,提升开发效率。它不仅支持数据表的读写操作,还兼容数据源、JNDI和数据库连接池等技术,优化性能。本文详细介绍DBUtils的使用方法,包括快速上手步骤、QueryRunner类及ResultSetHandler接口的应用,以及如何利用连接池进一步提高性能。
2811

被折叠的 条评论
为什么被折叠?



