java 结果集处理_JDBC八种结果集处理

package cn.QueryRunnerDemo1;

import java.sql.Connection;

import java.sql.SQLException;

import java.util.List;

import java.util.Map;

import org.apache.commons.dbutils.DbUtils;

import org.apache.commons.dbutils.QueryRunner;

import org.apache.commons.dbutils.handlers.ArrayHandler;

import org.apache.commons.dbutils.handlers.ArrayListHandler;

import org.apache.commons.dbutils.handlers.BeanHandler;

import org.apache.commons.dbutils.handlers.BeanListHandler;

import org.apache.commons.dbutils.handlers.ColumnListHandler;

import org.apache.commons.dbutils.handlers.MapHandler;

import org.apache.commons.dbutils.handlers.MapListHandler;

import org.apache.commons.dbutils.handlers.ScalarHandler;

import cn.liju.jdbcutils.JDBCUtilsConfig;

//这里是我写的一个连接在上一篇

import cn.lijun.domain.Sort;

public class QueryRunnerdemo {

private static Connection con = JDBCUtilsConfig.getConection();

public static void main(String[] args) throws SQLException {

//1结果集处理ArrayHandler

//arrayHandler();

//arrayListHandler();

//beanHandler();

//beanListHandler();

//columnListHandler();

// scalarHandle();

//mapHandler();

mapListHandler();

}

//11.8结果集处理MapListHandler    将结果集第一行封装到Map集合中,Key 列名, Value 该列数据,Map集合存储到List集合

public static void mapListHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回列名的集合

List> list= qr.query(con, sql, new MapListHandler());

DbUtils.close(con);

//遍历集合

for(Map map:list){

for(String key:map.keySet()){

System.out.print(key+":"+map.get(key)+"   ");

}

System.out.println();

}

}

//11.7结果集处理MapHandler    将结果集第一行封装到Map集合中,Key 列名, Value 该列数据

public static void mapHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回列名的集合

Map map= qr.query(con, sql, new MapHandler());

DbUtils.close(con);

for(String key:map.keySet()){

System.out.println(key+"   "+map.get(key));

}

}

//11.6结果集处理ScalarHandler     查询后只有一个结果    它是用于单数据。例如select count(*) from 表操作。

public static void scalarHandle() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT COUNT(*) FROM sort";

//调用QueryRunner方法   执行查询   返回列名的集合

Long ls = qr.query(con, sql, new ScalarHandler());

DbUtils.close(con);

System.out.println(ls);

}

//11.5结果集处理ColumnListHandler          将结果集中指定的列的字段值,封装到一个List集合中

public static void columnListHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回列名的集合

List ls = qr.query(con, sql, new ColumnListHandler("sname"));

DbUtils.close(con);

for(Object l:ls){

System.out.println(l);

}

}

//11.4结果集处理BeanListHandler            将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中

public static void beanListHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回BeanListHandler

List ls = qr.query(con, sql, new BeanListHandler(Sort.class));

DbUtils.close(con);

for(Sort l:ls){

System.out.println(l);

}

}

//11.3结果集处理BeanHandler        将结果集中第一条记录封装到一个指定的javaBean中。

public static void beanHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回BeanHandler

Sort s = qr.query(con, sql, new BeanHandler<>(Sort.class));

DbUtils.close(con);

System.out.println(s);

}

//11.2结果集处理ArrayListHandler           将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。

public static void arrayListHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询   返回的是集合

List query = qr.query(con, sql, new ArrayListHandler());

DbUtils.close(con);

for(Object[] qiang:query){

for(Object obj:qiang){

System.out.print(obj+"    ");

}

System.out.println();

}

}

//1结果集处理ArrayHandler     将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值

public static void arrayHandler() throws SQLException{

QueryRunner qr = new QueryRunner();

String sql="SELECT * FROM sort";

//调用QueryRunner方法   执行查询

Object[] query = qr.query(con, sql, new ArrayHandler());

DbUtils.close(con);

for(Object qiang:query){

System.out.println(qiang);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值