如何把得到的结果集放到map集合中+取得列和值ResultSetMetaData

1先利用sql语句进行查询
2利用反射创建实体类 的对象emp
3获取结果集的列名
4获取结果集的每一列的值,结合3得到一个Map,键是列名,值的值

5利用反射为2对应的属性赋值,属性为Map的键值为map的值

/**
* 打印出列的名称+和相对应的字段
* 1.String sql="select name,id from emp";
getEmp(sql, args);
2.String sql="select name,id from emp where id=?";
getEmp(sql, 1);
* ResultSetMetaData
* @param sql
* @param objects
* @return
*/
public static Emp getEmp(String sql,Object...objects)
{
Emp emp=null;
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
conn=JdbcUtil.getConn();
try {
ps=conn.prepareStatement(sql);
//可以拿出来写一个方法,直接调用
for(int i=0;i<objects.length;i++)
{
ps.setObject(i+1, objects[i]);
}
rs=ps.executeQuery();
//1.得到ResultSetMetaData
ResultSetMetaData  rsmd=rs.getMetaData();

//4.获取结果集的每一列的值,结合3得到一个Map,键是列名,值的值
Map<String,Object> map=new HashMap<String,Object>();
while(rs.next())
{
//2.打印每一列名
for(int i=0;i<rsmd.getColumnCount();i++)
{
String columnLabel=rsmd.getColumnLabel(i+1);
Object columnValue=rs.getObject(columnLabel);
map.put(columnLabel, columnValue);

}
System.out.println("刘瑞光添加到map集合中的键和值:"+map);
}


} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
JdbcUtil.closeConn(rs, null, ps, ps, conn);
}
return emp;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值