/** * * 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;
另外值得注意的是,经过我本地测试如果取别名是报错
相关推荐
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map<String, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List<Map<String, Object>...
public List<T> findPage(int pageNo, int pageSize, String sort, String order, Map<String, Object> filters) { return (List<T>) this.hibernateTemplate.execute(new HibernateCallback() { @Override ...
在Java开发领域,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者通过Java对象来操作数据库,极大地简化了数据库操作。"hibernate 通用分页"是Hibernate框架中一个重要的实用功能,主要用于处理大...
例如,你可以创建一个`List<Map<String, Object>>`或自定义的Java类`YourJavaClass`对象,并在方法中填充数据。 ```java public class YourAction { private List<Map<String, Object>> dataList; private ...
List<Map<String, Object>> result = jdbcTemplate.queryForList("SELECT * FROM my_table", new Object[]{}); ``` 接下来,这些Map数据需要传递到JSP页面进行展示。在JSP中,我们可以使用EL(Expression Language...
Map<String, Object> result = new HashMap<>(); result.put("total", userPage.getTotal()); result.put("rows", userPage.getList()); return result; } } ``` 前端页面根据返回的分页数据渲染Bootstrap的...
Map<String, Object> params = new HashMap<>(); params.put("username", username); return queryByParams("from User as u where u.username = :username", params); } } ``` 这样的设计使得代码更加模块化,...
-- 无条件查询,查询全部,返回值以键值对形式存在List<Map<String,Object>>中 --> <select id="findAll" resultType="java.util.HashMap" > select id,studentId,studentName from t_student </select> <!-- ...
以及`List<T> findByNamedQuery(String namedQuery, Map<String, Object> params)`,使用预定义的命名查询。 3. **分页查询**:在大型项目中,通常需要实现分页功能,我们可以提供`List<T> findPage(int pageSize, ...
private Map<String, Role> roles = new HashMap<>(); // getters and setters } ``` 这里的`roles` Map将用户的ID作为键,Role对象作为值,映射到数据库中的关联表。 **4. Map容器在CRUD操作中的应用** 在SSH...
Map<String, Object> result = new HashMap<>(); result.put("total", userList.size()); result.put("rows", userList); jsonString = mapper.writeValueAsString(result); ``` 6. **返回JSON数据给前端**:...
Map<String, String> errors = new HashMap<>(); methodArgumentNotValidException.getBindingResult().getFieldErrors().forEach(fieldError -> { errors.put(fieldError.getField(), fieldError....
可以看到,返回的 `test` 是一个 `List<Map<String, Object>>` 类型的集合,其中每个元素都是一个 `Map` 对象,键是数据库的列名,值则是对应的列值。 #### 5. 示例应用 下面是一个更具体的示例: ```xml ...
Map<String, Object> map = new LinkedHashMap<>(columns.length); for (int i = 0; i < columns.length; i++) { map.put(columns[i], values[i]); } return map; } @Override public List transformList...
在查询结果处理方面,需要根据返回的结果来定义接收数据类型,例如,返回的结果是一个列表,可以使用 List<Object[]> 来接收,然后遍历列表,处理每个元素。 以下是 HQL 查询的示例代码: 首先,添加 ...
List<Map<String, Object>> listMap = session.createQuery(hql).list(); for (Map<String, Object> map : listMap) { System.out.println("Name: " + map.get("name")); System.out.println("Mother: " + map....
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
例如`public List<T> findByExample(T exampleEntity)`,可以基于一个实例对象的属性来构建查询条件。 3. **分页查询**:为了提高性能,通常需要进行分页查询。工具类可以提供如`public Page<T> findPage(Class<T> ...