使用工具类先要导入commons-dbutils包
public class BaseDao {
//定义type变量
private Class type;
public BaseDao(){
//UserDao extends BaseDao<User>
//获取到了Base
ParameterizedType pt = (ParameterizedType)this.getClass().getGenericSuperclass();
//通过反射获取到BaseDao 后面的参数
Type[] types=pt.getActualTypeArguments();
this.type=(Class<T>)types[0];
}
//创建工具类对象
QueryRunner runner=new QueryRunner();
//通用的增删改方法
@Test
public int update(String sql,Object...params){
int count=0;
Connection conn=JDBCUtil.getConnect();
try {
count=runner.update(conn,sql, params);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
JDBCUtil.close(conn);
}
return count;
}
//查询多个的通用方法
@Test
public List<T> seachList(String sql,Object...params){
List<T> list=null;
Connection conn=JDBCUtil.getConnect();
try {
list=runner.query(conn, sql, new BeanListHandler<T>(type), params);
} catch (SQLException e) {
e.printStackTrace();
}finally{
JDBCUtil.close(conn);
}
return list;
}
}