黑马程序员技术交流社区

标题: DBUtils结果集代码 [打印本页]

作者: hmhm123    时间: 2018-4-30 02:03
标题: DBUtils结果集代码
本帖最后由 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+"  ");
    }
}



作者: Yin灬Yan    时间: 2018-4-30 17:22
我来占层楼啊   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2