一、什么是dbutils,它的作用
DBUtils是java编程中的数据库操作实用工具,小巧简单实用。
DBUtils封装了对JDBC的操作,简化了JDBC操作。可以少写代码。
DBUtils也属于一种框架,类似于mybatis等等。
1、对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作。
2、对于数据表的写操作,也变得很简单(只需写sql语句)
3、.可以使用数据源,使用JNDI,数据库连接池等技术来优化性能–重用已经构建好的数据库连接对象
二、DBUtils的三个核心对象
1. QueryRunner类型(有下面三个方法)
query() 用于执行select
update() 用于执行insert update delete
batch() 批处理)
2. ResultSetHandler接口
用于定义select操作后,怎样封装结果集.
3. DBUtils类
它就是一个工具类,定义了关闭资源与事务处理的方法
三、环境搭建
dbutils jar包:commons-dbutils-1.4.jar
数据源的jar包:c3p0-0.9.1.2.jar、mysql-connector-java-5.1.28-bin.jar
将三个jar包放入WEB-INF/Lib然后记得add-Build-Path
1. 编写数据源c3p0配置文件
(放在classpath中,或classes目录中,命名必须是c3p0-config.xml)
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javaStudy</property>
<property name="user">root</property>
<property name="password">123456</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
</default-config>
</c3p0-config>
- 编写C3P0Util类,用于建立连接、释放连接等操作。
public class C3P0Util {
private static DataSource dataSource = new ComboPooledDataSource();
public static DataSource getDataSource() {
return dataSource;
}
public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException("超时");
}
}
public static void release(Connection conn, Statement stmt, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
rs = null;
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
stmt = null;
}
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
conn = null;
}
}
}