今天扣丁学堂Java培训老师给大家介绍一下关于Java开发之如何数据库连接工具DBUtils的应用详解,大多数程序员在项目开发中,都会涉及到连接数据库的操作,下面老师给大家介绍一下关于JDBC连接数据库的源码详解。
DBUtils是java编程中的数据库操作实用工具,小巧简单实用,它封装了对JDBC的操作,简化了JDBC操作。可以少写代码。
1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;
2.对于数据表的写操作,也变得很简单(只需写sql语句)
3.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能--重用已经构建好的数据库连接对象
QueryRunner类
ResultSetHandler接口
QueryRunner类
QueryRunner中提供对sql语句操作的API.
QueryRunner(DataSourceds)----将连接池给DBUtils框架,以后每个操作,都会从连接池中获取一个新的连接(每条SQL一个单独的事务)
它主要有三个方法
query()用于执行select
update()用于执行insertupdatedelete
batch()批处理可执行多条语句批量
ResultSetHandler接口
用于定义select操作后,怎样封装结果集.返回list~array~set
Dbutils快速入门
>导入jar包
>创建QueryRunner对象
>使用query方法执行select语句
>使用ResultSetHandler封装结果集
Java培训.png
>加入c3p0代码
c3p0-config.xml
C3P0Utils.java
publicclassC3P0Utils{
//获得数据源
privatestaticDataSourceds=newComboPooledDataSource();
//添加getDataSource()方法
publicstaticDataSourcegetDataSource(){
returnds;
}
>创建book表添加一些基本数据
Java培训.png
>创建BookjavaBean
publicclassBook{
privateintid;
privateStringname;
privatedoubleprice;
privateintnum;
privateStringcategory;
privateStringdescription;
添加Set/Get/toString方法加上\r\n
publicStringtoString(){
return"Book[id="+id+",name="+name+",price="+price
+",num="+num+",category="+category+",description="
+description+"]\r\n";
}
>创建DemoQuery.java类
>创建QueryRunner对象
>使用query方法执行select语句
>使用ResultSetHandler封装结果集
publicclassDemoQuery{
@Test
publicvoidtestQuery01()throwsSQLException{
//创建QueryRunner对象指定数据源
QueryRunnerqr=newQueryRunner(C3P0Utils.getDataSource());
ListbookList=qr.query("select*frombook",newResultSetHandler>(){//使用ResultSetHandler匿名内部类的方式
@Override
publicListhandle(ResultSetrs)throwsSQLException{
Listlist=newArrayList<>();
while(rs.next()){
Bookbook=newBook();
book.setId(rs.getInt("id"));
book.setName(rs.getString("name"));
book.setPrice(rs.getDouble("price"));
book.setNum(rs.getInt("num"));
book.setCategory(rs.getString("category"));
book.setDescription(rs.getString("description"));
list.add(book);
}
returnlist;
}
});
System.out.println(bookList);
}
}
以上就是关于Java开发数据库连接工具DBUtils应用的详细介绍,案例是以ResultSetHandler为核心组件,因为我们多数情况下,都是封装结果集,并使用结果集,希望对学习Java开发的同学有所帮助。
网友评论