导入相关jar包
在利用DbUtils进行开发时需要commons-dbutils-1.4.jar等相关jar包。
DBUtils的实用性封装
- 第一步:创建数据库及表
- 第二步:编写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/修改为自己的数据库名</property>
<property name="user">root</property> <!--修改为自己的数据库用户名和密码-->
<property name="password">root</property>
<property name="initialPoolSize">15</property>
<property name="maxIdleTime">40</property>
<property name="maxPoolSize">150</property>
<property name="minPoolSize">20</property>
</default-config>
</c3p0-config>
- 第三步:编写类
- 第四步:编写DBUtils
/**
* 数据库操作工具类
*/
public class DBUtils {
private static DataSource datasource;
/**
* 1、C3P0连接池的配置文件名称必须为c3p0-config.xml
* 2、读取配置文件、加载驱动类、创建连接等操作均由连接池自动完成
*/
static {
try {
datasource = new ComboPooledDataSource();
}catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取数据库链接
*/
public static Connection getConnection(){
Connection connection = null;
try {
connection = datasource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
/**
* 执行更新操作:增加、修改、删除
* @param sql SQL语句
* @param parameters SQL参数
* @return 0失败、1成功
*/
public static Integer executeUpdate(String sql,Object ...parameters){
Connection connection = getConnection();
QueryRunner queryRunner = new QueryRunner();
Integer result = 0;
try {
if(parameters == null){
result = queryRunner.update(connection, sql);
}else{
result = queryRunner.update(connection, sql, parameters);
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
/**
* 执行更新操作:增加、修改、删除
*/
public static Integer executeUpdate(String sql){
Object [] parameters=null;
return executeUpdate(sql, parameters);
}
/**
* 执行查询操作
* @param <T> 实体泛型
* @param sql SQL语句
* @param clazz 实体的Class
* @param parameters SQL参数
* @return 存放Bean的list
*/
public static <T> List<T> executeQuery(String sql,Class<T> clazz,Object ...parameters){
Connection connection = getConnection();
List<T> list = null;
try{
QueryRunner queryRunner = new QueryRunner();
BeanListHandler<T> beanListHandler = new BeanListHandler<T>(clazz);
if(parameters == null){
list = queryRunner.query(connection, sql,beanListHandler);
}else{
list = queryRunner.query(connection, sql,beanListHandler,parameters);
}
}catch(Exception e){
e.printStackTrace();
}
return list;
}
/**
* 执行查询操作
*/
public static <T> List<T> executeQuery(String sql,Class<T> clazz){
Object [] parameters=null;
return executeQuery(sql,clazz,parameters);
}
}
- 第五步:编写TestDBUtils