必威体育Betway必威体育官网
当前位置:首页 > IT技术

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

时间:2019-10-02 13:43:16来源:IT技术作者:seo实验室小编阅读:61次「手机版」
 

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;

}

相关阅读

ResultSetMetaData的用法介绍

ResultSetMetaData 、DatabaseMetaData中的方法介绍利用ResultSet的getMetaData的方法可以获得ResultSetMeta对象,而ResultSetMeta

ResultSetMetaData的使用心得

今天写页面的时候,发生了离奇的错误,明明语句在数据库中执行能查出6个字段,但是返回数据时只剩5个了,检查了好多遍代码,终于发现Result

分享到:

栏目导航

推荐阅读

热门阅读