`
shendixiong
  • 浏览: 399479 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

hibernate如何返回一个Map对象 以及List<Map<String, Object>>

    博客分类:
  • 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) {
		return (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;

另外值得注意的是,经过我本地测试如果取别名是报错

 

分享到:
评论

相关推荐

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map&lt;String, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map&lt;String, Object&gt;...

    Spring/泛型Hibernate的实现

    public List&lt;T&gt; findPage(int pageNo, int pageSize, String sort, String order, Map&lt;String, Object&gt; filters) { return (List&lt;T&gt;) this.hibernateTemplate.execute(new HibernateCallback() { @Override ...

    hibernate 通用分页

    在Java开发领域,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,极大地简化了数据库操作。"hibernate 通用分页"是Hibernate框架中一个重要的实用功能,主要用于处理大...

    sturts框架下返回json数据 list map 对象

    例如,你可以创建一个`List&lt;Map&lt;String, Object&gt;&gt;`或自定义的Java类`YourJavaClass`对象,并在方法中填充数据。 ```java public class YourAction { private List&lt;Map&lt;String, Object&gt;&gt; dataList; private ...

    查询返回Map

    List&lt;Map&lt;String, Object&gt;&gt; result = jdbcTemplate.queryForList("SELECT * FROM my_table", new Object[]{}); ``` 接下来,这些Map数据需要传递到JSP页面进行展示。在JSP中,我们可以使用EL(Expression Language...

    Intellij IDEA搭建SSM+Bootstrp+分页

    Map&lt;String, Object&gt; result = new HashMap&lt;&gt;(); result.put("total", userPage.getTotal()); result.put("rows", userPage.getList()); return result; } } ``` 前端页面根据返回的分页数据渲染Bootstrap的...

    Hibernate 参数查询通用方法

    Map&lt;String, Object&gt; params = new HashMap&lt;&gt;(); params.put("username", username); return queryByParams("from User as u where u.username = :username", params); } } ``` 这样的设计使得代码更加模块化,...

    mybatis开发步骤

    -- 无条件查询,查询全部,返回值以键值对形式存在List&lt;Map&lt;String,Object&gt;&gt;中 --&gt; &lt;select id="findAll" resultType="java.util.HashMap" &gt; select id,studentId,studentName from t_student &lt;/select&gt; &lt;!-- ...

    本人写的Hibernate超级通用DAO

    以及`List&lt;T&gt; findByNamedQuery(String namedQuery, Map&lt;String, Object&gt; params)`,使用预定义的命名查询。 3. **分页查询**:在大型项目中,通常需要实现分页功能,我们可以提供`List&lt;T&gt; findPage(int pageSize, ...

    SSH增删改查使用Map容器

    private Map&lt;String, Role&gt; roles = new HashMap&lt;&gt;(); // getters and setters } ``` 这里的`roles` Map将用户的ID作为键,Role对象作为值,映射到数据库中的关联表。 **4. Map容器在CRUD操作中的应用** 在SSH...

    ssh中将含有级联对象的list转化为json

    Map&lt;String, Object&gt; result = new HashMap&lt;&gt;(); result.put("total", userList.size()); result.put("rows", userList); jsonString = mapper.writeValueAsString(result); ``` 6. **返回JSON数据给前端**:...

    springMVC整合hibernate的校验Validation

    Map&lt;String, String&gt; errors = new HashMap&lt;&gt;(); methodArgumentNotValidException.getBindingResult().getFieldErrors().forEach(fieldError -&gt; { errors.put(fieldError.getField(), fieldError....

    ibatis 用HashMap解决resultClass映射

    可以看到,返回的 `test` 是一个 `List&lt;Map&lt;String, Object&gt;&gt;` 类型的集合,其中每个元素都是一个 `Map` 对象,键是数据库的列名,值则是对应的列值。 #### 5. 示例应用 下面是一个更具体的示例: ```xml ...

    Hibernate SQLQuery执行原生SQL.docx

    Map&lt;String, Object&gt; map = new LinkedHashMap&lt;&gt;(columns.length); for (int i = 0; i &lt; columns.length; i++) { map.put(columns[i], values[i]); } return map; } @Override public List transformList...

    JPA--HQL查询(手动写原生查询sql,复杂查询必备).pdf

    在查询结果处理方面,需要根据返回的结果来定义接收数据类型,例如,返回的结果是一个列表,可以使用 List&lt;Object[]&gt; 来接收,然后遍历列表,处理每个元素。 以下是 HQL 查询的示例代码: 首先,添加 ...

    hibernate所用到HQL经典语句大全

    List&lt;Map&lt;String, Object&gt;&gt; listMap = session.createQuery(hql).list(); for (Map&lt;String, Object&gt; map : listMap) { System.out.println("Name: " + map.get("name")); System.out.println("Mother: " + map....

    springmybatis

    查询出列表,也就是返回list, 在我们这个例子中也就是 List&lt;User&gt; , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...

    超好用的hibernate查询工具类

    例如`public List&lt;T&gt; findByExample(T exampleEntity)`,可以基于一个实例对象的属性来构建查询条件。 3. **分页查询**:为了提高性能,通常需要进行分页查询。工具类可以提供如`public Page&lt;T&gt; findPage(Class&lt;T&gt; ...

Global site tag (gtag.js) - Google Analytics