hibernate如何返回一个Map对象 以及List<Map<String, Object>>
2015-12-09 10:02
316 查看
Java代码
/**
*
* Discription : 将查询出来的数据转换为Map集合,但前提是只能为一条数据 ,它的key为其查询的字段.
* @param sql
* @return
* Map<String,Object>
* @date 2013-9-29 下午1:20:50
* @throws
* @author : shendx
*/
@Override
public Map<String, Object> getQueryResultToMap(final String sql) {
return (Map<String, Object>) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createSQLQuery(sql);
return (Map)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).uniqueResult(); //返回值为map集合 且为唯一值(只能返回一条数据)
}
});
}
/**
*
* Discription : 将sql中的全部数据查出来,返回值为一个List<Map<String, Object>>具体用法见
* @see #getQueryResultToMap(String)
* @param sql
* @return
* List<Map<String,Object>>
* @date 2013-9-29 下午1:23:20
* @throws
* @author : shendx
*/
@Override
public List<Map<String, Object>> getQueryResultToListMap(final String sql) {
r
b996
eturn (List<Map<String, Object>>) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createSQLQuery(sql);
return (List)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
}
});
}
函数 getQueryResultToMap 只能查询一条数据,否则会报错
例如:
select t.id,t.name from tableName t; 那么它在map中的key为id 和name。
当然也可以 select * from tableName;
另外值得注意的是,经过我本地测试如果取别名是报错
/**
*
* Discription : 将查询出来的数据转换为Map集合,但前提是只能为一条数据 ,它的key为其查询的字段.
* @param sql
* @return
* Map<String,Object>
* @date 2013-9-29 下午1:20:50
* @throws
* @author : shendx
*/
@Override
public Map<String, Object> getQueryResultToMap(final String sql) {
return (Map<String, Object>) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createSQLQuery(sql);
return (Map)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).uniqueResult(); //返回值为map集合 且为唯一值(只能返回一条数据)
}
});
}
/**
*
* Discription : 将sql中的全部数据查出来,返回值为一个List<Map<String, Object>>具体用法见
* @see #getQueryResultToMap(String)
* @param sql
* @return
* List<Map<String,Object>>
* @date 2013-9-29 下午1:23:20
* @throws
* @author : shendx
*/
@Override
public List<Map<String, Object>> getQueryResultToListMap(final String sql) {
r
b996
eturn (List<Map<String, Object>>) getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createSQLQuery(sql);
return (List)query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
}
});
}
函数 getQueryResultToMap 只能查询一条数据,否则会报错
例如:
select t.id,t.name from tableName t; 那么它在map中的key为id 和name。
当然也可以 select * from tableName;
另外值得注意的是,经过我本地测试如果取别名是报错
相关文章推荐
- 类的继承--学习笔记
- libz.so.1: cannot open shared object file
- 【Objective-C学习记录】第七天
- [Objective-C] - NSObject
- 用反射,将DataRow行转为Object对象
- Objective-C的block内存管理
- Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)
- jacob Can't co-create object
- 【Objective_C学习笔记】Debug表达方式
- object sender, EventArgs e什么意思
- 【Objective_C学习笔记】alloc-init 与new的区别
- JSONObject转Java对象,日期类型为空值时报错
- Objective C运行时(runtime)
- android——ObjectAnimator动画(一)
- Objective-C 理解之方括号[ ]的使用
- Objective-C之run loop详解
- android——ObjectAnimator动画
- libexpat.so.0: cannot open shared object file: No such file or directory
- iOS开发-Objective-c的AES加密和解密算法的实现
- DOS_OBJECT_USE_OBJC