A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hmhm123 超级版主   /  2018-4-30 02:03  /  1162 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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+"  ");
    }
}


1 个回复

倒序浏览
我来占层楼啊   
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马