ArrayHandler, ArrayListHandler, BeanHandler, BeanListHandler, ColumnListHandler, KeyedHandler, MapHandler, MapListHandler使用方法代码:
1、ArrayHandler:把结果集中的第一行数据转成对象数组。
//按条件查询ArrayHandler
public void queryById2(int stu_id){
conn = DBUtil.getConnection();
String sql = "select * from student where stu_id=?";
QueryRunner qr = new QueryRunner();
try {
Object[] stus = qr.query(conn, sql, new ArrayHandler(), stu_id);
System.out.println("stu_id="+stus[0]);
System.out.println("stu_name="+stus[1]);
System.out.println("stu_sex="+stus[2]);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
2、ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
// 查询所有数据ArrayListHandler
public void getAllStus2() {
conn = DBUtil.getConnection();
String sql = "select * from student";
QueryRunner qr = new QueryRunner();
try {
List<Object[]> list = qr.query(conn, sql, new ArrayListHandler());
for (Object[] a : list) {
System.out.println("stu_id=" + a[0]);
System.out.println("stu_name=" + a[1]);
System.out.println("stu_sex=" + a[2]);
System.out.println("---------------------------");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
3、 BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
// 按条件查询 BeanHandler
public Student queryById(int stu_id) {
Student stu = null;
conn = DBUtil.getConnection();
String sql = "select * from student where stu_id=?";
QueryRunner qr = new QueryRunner();
try {
stu = qr.query(conn, sql, new BeanHandler<Student>(Student.class), stu_id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stu;
}
4、BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
// 查询所有数据BeanListHandler
public List<Student> getAllStus1() {
List<Student> stus = null;
conn = DBUtil.getConnection();
String sql = "select * from student";
QueryRunner qr = new QueryRunner();
try {
stus = qr.query(conn, sql, new BeanListHandler<Student>(Student.class));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stus;
}
5、ColumnListHandler:将结果集中某一列的数据存放到List中。返回指定列的数据
// 查询指定列的数据ColumnListHandler
public void getCol(String colName) {
conn = DBUtil.getConnection();
String sql = "select * from student";
QueryRunner qr = new QueryRunner();
try {
List<Object> list = qr.query(conn, sql, new ColumnListHandler<Object>(colName));
for (Object obj : list) {
System.out.println(obj);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
6、 KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里。
// 查询所有数据KeyedHandler
public void getAllStus4() {
conn = DBUtil.getConnection();
QueryRunner qr = new QueryRunner();
String sql = "select * from student";
try {
Map<Object, Map<String, Object>> map = qr.query(conn, sql, new KeyedHandler<Object>());
for (Object obj : map.keySet()) {
System.out.println(obj + ":" + map.get(obj));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
7、MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。
// 按条件查询MapHandler
public void queryById3(int stu_id) {
conn = DBUtil.getConnection();
String sql = "select * from student where stu_id=?";
QueryRunner qr = new QueryRunner();
try {
Map<String, Object> map = qr.query(conn, sql, new MapHandler(), stu_id);
System.out.println("stu_id=" + map.get("stu_id"));
System.out.println("stu_name=" + map.get("stu_name"));
System.out.println("stu_sex=" + map.get("stu_sex"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
8、MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List中。
// 查询所有数据MapListHandler
public void getAllStus3() {
conn = DBUtil.getConnection();
String sql = "select * from student";
QueryRunner qr = new QueryRunner();
try {
List<Map<String, Object>> list = qr.query(conn, sql, new MapListHandler());
for (Map<String, Object> li : list) {
System.out.println("stu_id=" + li.get("stu_id"));
System.out.println("stu_name=" + li.get("stu_name"));
System.out.println("stu_sex=" + li.get("stu_sex"));
System.out.println("------------------");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}