用Spring的JdbcTemplate链接数据库,对返回的List,如何取字段名,而不是字段值?

百年孤独 2008-07-23 04:52:57
1 假如:String sql=" select id as ’用户编号‘ ,name as '用户名' ,sex from user" ;
注释:Sql 语句由用户来自己编写,这样查那张表 ,取那些字段都是无法预测的

2 // 通过用Spring的JdbcTemplate返回一个List对象userList
public List getList(String sql) throws SQLException
{
return getJdbcTemplate().queryForList(sql);
}

3 //开始取表中的字段名,即:用户编号,用户名和sex (注意不是字段值,像:‘100101’,‘张三’,‘男’不是取这些东西)

Iterator itr = userList.iterator();
if (itr.hasNext())
{
ListOrderedMap map = (ListOrderedMap)itr.next();
Iterator itrKey = map.keySet().iterator();
while(itrKey.hasNext())
{
String key=itrKey.next().toString();
System.out.println("字段名是===="+key);
}
}
4 结果打印是:
字段名是====id
字段名是====name
字段名是====sex
而不是:
字段名是====用户编号
字段名是====用户名
字段名是====sex
请问怎么才能打印出:
字段名是====用户编号
字段名是====用户名
字段名是====sex
...全文
635 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiyuzhongxin789 2008-10-16
  • 打赏
  • 举报
回复
那你要使用JDBC 的getColumnLabel()方法才行了
icer3044 2008-10-16
  • 打赏
  • 举报
回复
public class UserRoleManager extends HibernateSDTDao<UserRole>{
/**
* jdbcTemplate查询
* @author Icer
* @param userid
* @return list
* @date Oct 16, 2008
*/
public List getUserRoleList(Integer userid){

String hql = " select * from UserRole where userid = ?";
List list = this.getJdbcTemplate().query(hql, new Object[]{userid}, new RowMapper(){
public Object mapRow(ResultSet rs, int i) throws SQLException {
UserRole userRole = new UserRole();
Helper.populate(userRole, rs);
return userRole;
}
});
return list;
}
}

你自己写一个方法,然后进行调用,应该就能解决你的问题!
百年孤独 2008-07-23
  • 打赏
  • 举报
回复
对我是想取他的别名 ,如果sql语句 没有别名 就直接取字段名
用jdbc 返回ResultSet对象 我知道怎么取 字段名和 字段值
但是用Spring的JdbcTemplate 就取不了啊
百年孤独 2008-07-23
  • 打赏
  • 举报
回复
但是我用的Spring的JdbcTemplate 不是用的sun的jdbc 这个不能
做项目毕竟不是自己做着玩啊
lovingprince 2008-07-23
  • 打赏
  • 举报
回复
你想取得它的别名?那你要使用JDBC 的getColumnLabel()方法才行了。
百年孤独 2008-07-23
  • 打赏
  • 举报
回复
在线等谢谢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧