增删改:int upate(String sql执行语句,替换的值)
public static void main(String[] args) throws Exception {
//创建对象(这是操作增删改查的类)
//传入一个DataSource的对象 ds
//省去敲连接代码,创建执行者,运行执行语句,处理结果集......这些工作交给代码自动完成
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.ds);
//创建需要增加东西的集合
Object[] obj={"王柳3",1111};
int rows=qr.update("insert into people (pname,money) values(?) ", obj);
System.out.println(rows);
}
查:query(String sql执行语句,ResultSetHander rsh(结果集处理类),替换的值)
ResultSetHander rsh(结果集处理类)

1. ArrayHandler:适用查询一行记录
public static void main(String[] args) throws Exception {
//创建增删改查操作对象qr(传入c3p0连接池)
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
//创建方法,1.写sql执行语句
String sql="select *from people where pname=?";
//创建方法,2.写要替换的值
Object[] obj={"KING"};
//创建方法,3,放一个结果集处理类
Object[] result= qr.query(sql,new ArrayHandler(), obj);
//增强for遍历一下
for (Object object : result) {
System.out.println(object);
}
}
2. ArrayListHandler:适用查询多行
public static void main(String[] args) throws Exception {
//创建操作增删改查类的对象(放入连接池)
QueryRunner qr =new QueryRunner(C3P0UtilsForDB.lianjie());
//创建查询方法
List<Object[]> obj=qr.query("select *from people",new ArrayListHandler());
for (Object[] objects : obj) {
System.out.println(objects[0]+" | "+objects[1]+" | "+objects[2]);
}
}
}
3. BeanHandler:返回值是javabean(标准自定义类)
public static void main(String[] args) throws Exception {
//创建操作增删改查类的对象(放入连接池)
QueryRunner qr =new QueryRunner(C3P0UtilsForDB.lianjie());
//创建查询方法,创建执行语句
String sql="select *from people";
//创建查询方法,BeanHandler,<返回值类型>(javabean(就是一个标准的自定义类).class)
BeanTest bt= qr.query(sql,new BeanHandler<BeanTest>(BeanTest.class));
System.out.println(bt);
}
4. BeanListHandler:返回值是javabean(标准自定义类)的一个集合
public static void main(String[] args) throws Exception {
//创建一个增删改查类
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
//创建sql执行语句
String sql="select *from people";
//查询,
List<BeanTest> list=qr.query(sql, new BeanListHandler<BeanTest>(BeanTest.class));
for (BeanTest beanTest : list) {
System.out.println(beanTest);
}
}
5. ColumnListHandler:取一个字段(列),放到list集合中
public static void main(String[] args) throws Exception {
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
String sql="select * from people";
List<Object> obj=qr.query(sql, new ColumnListHandler<Object>("pname"));
for (Object object : obj) {
System.out.println(object);
}
}
6.MapHandler:
public static void main(String[] args) throws Exception {
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
String sql="select * from people where empno=?";
Object[] obj={7935};
Map<String , Object> map=qr.query(sql, new MapHandler(),obj);
System.out.println(map);
}
7.MapListHandler:以list集合形式
public static void main(String[] args) throws Exception {
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
String sql="select * from people";
//Object[] obj={7935};
List<Map<String,Object>> list= qr.query(sql, new MapListHandler());
for (Map<String, Object> map : list) {
System.out.println(map);
}
public static void main(String[] args) throws Exception {
QueryRunner qr=new QueryRunner(C3P0UtilsForDB.lianjie());
String sql="select count(*),count(comm) from people";
(2):这里的2是指上面count(comm)的值,如果写(1),就是count(*)这个值了
Object obj=qr.query(sql, new ScalarHandler<Object>(2));
System.out.println(obj);
}