package com.guan.bm.utils;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class JdbcUtils {
// 创建连接池对象
private static ComboPooledDataSource dataSource = new ComboPooledDataSource("c3p0");
//创建dbutils的运行对象
private static QueryRunner runner = new QueryRunner(dataSource);
public static int update(String sql, Object... params) {
/*
* 执行增删改方法 sql语句
*
*/
try {
return runner.update(sql, params);
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
/*
* 查询记录<T>声明类型,T代表任意类型,<T>的类型由返回值T决定。
* 调用时返回值类型如果是User,所有T都会被替换成User
* clazz:需要转换时实体类的类型,用的时候可以: 类.class
*
* sql:查询SQL语句
* params 参数
* return:查询到实体类对象
*
*/
public static <T> T queryOne(Class clazz, String sql, Object... params) {
try {
return runner.query(sql, new BeanHandler<T>(clazz), params);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
/**
*
* @param <T>T代表任意类型,<T>的类型由返回值T决定
* @param clazz 需要转换时实体类的类型,用的时候可以: 类.class
* @param sql 查询SQL语句
* @param params 参数
* @return 查询到实体类对象
*/
public static <T> List<T> queryList(Class clazz, String sql, Object... params) {
try {
return runner.query(sql, new BeanListHandler<T>(clazz), params);
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
}
JDBC万能模板
最新推荐文章于 2022-10-29 21:30:14 发布