本帖最后由 hmhm123 于 2018-4-30 02:14 编辑
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式9
* KeyedHandler
* 查询结果集的每行数据存储到Map集合,键是列名
* 多行数据,出现多个Map集合,多个Map集合存储到另一个Map集合
*/
public static void keyedHandler() throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
Map<Object,Map<String,Object>> map = qr.query(sql, new KeyedHandler<Object>());
System.out.println(map);
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式8
* MapListHandler
* 查询数据表的每行存储到Map集合,键是列名
* 多个Map集合,存储List集合
*/
public static void mapListHandler() throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
List<Map<String,Object>> list = qr.query(sql, new MapListHandler());
for(Map<String,Object> map : list){
System.out.println(map);
}
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式7
* MapHandler
* 查询结果集的第一行存储到Map集合
* Map<String,Object> 集合的键,是列名, 集合的值,就是这个列对应的值
*/
public static void mapHandler() throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
Map<String,Object> map = qr.query(sql, new MapHandler());
System.out.println(map);
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式6
* ColumnListHandler
* 查询一个列的数据,数据存储到集合
*/
public static void columnListHandler() throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
//调用方法quert,传递结果集处理类ColumnListHandler
List<Object> list = qr.query(sql, new ColumnListHandler<Object>("pname"));
for(Object obj : list){
System.out.println(obj);
}
}
[Java] 纯文本查看 复制代码
/*
* 查询结果集的处理方式5: 非常重要
* ScalarHandler实现类
* 适合单值查询,select只有1个值
*/
public static void scalarHandler()throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT count(*)as c FROM products";
//调用query方法查询,结果集处理类ScalarHandler(写列的名字)
Object obj = qr.query(sql, new ScalarHandler<Object>("c"));
System.out.println(obj);
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式4: 非常重要
* BeanListHandler实现类
* 结果集的每一行数据,存储到JavaBean对象
* 多个JavaBean对象存储到List集合
*/
public static void beanListHandler()throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
//调用query方法查询,传递结果集处理对象BeanListHandler
List<Products> list = qr.query(sql, new BeanListHandler<Products>(Products.class));
for(Products p : list){
System.out.println(p);
}
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式3: 非常重要
* BeanHandler实现类
* 结果集的第一行数据,封装到JavaBean对象
*/
public static void beanHandler()throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
//调用query方法查询数据表,结果集处理传递BeanHandler实现类的对象
//BeanHandler(Class<T> c)传递的是JavaBean类的class文件对象
Products p = qr.query(sql, new BeanHandler<Products>(Products.class));
System.out.println(p);
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式2
* ArrayListHander实现类
* 结果集每一行存储到Object[]数组
* 多行数据,出现多个Object[]数组, 多个数组存储到List集合
*/
public static void arrayListHander() throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
//调用方法query实现查询,传递结果集处理对象ArrayListHander
List<Object[]> list = qr.query(sql, new ArrayListHandler());
for(Object[] objs : list){
for(Object obj: objs){
System.out.print(obj+" ");
}
System.out.println();
}
}
[Java] 纯文本查看 复制代码 /*
* 查询结果集的处理方式1
* ArrayHandler实现类,查询结果集转成Object[] 对象数组
* 转结果集的第一行
*/
public static void arrayHandler()throws SQLException{
//创建QueryRunner对象,构造方法中,传递DataSource接口的实现类
//接口实现类,C3P0工具的方法获取
QueryRunner qr = new QueryRunner(C3P0Utils.getDataSource());
//拼写查询所有数据的SQL
String sql = "SELECT * FROM products";
//调用qr对象方法query查询数据
//传递的是 ArrayHandler实现类对象
Object[] objs = qr.query(sql, new ArrayHandler());
for(Object obj : objs){
System.out.print(obj+" ");
}
}
|