当前位置: 首页 > news >正文

hibernate,将原生SQL执行的结果转换为Map

核心:设置处理查询结果的策略query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP),表示将结果转换为Map类型

默认结果是[“张三”,20],加了Transformers.ALIAS_TO_ENTITY_MAP之后,结果是[name:“张三”,age:20]

/**

* 通过sql返回对应List<Map>, Map中key为字段名, value为查询出来的数据
* 
* @param sql
*            sql
* @param args
*            sql对应的参数
*/
public List<Map<String, Object>> findToMapBySql(String sql, Object... args) {
Session sqlSession = getBaseDao().getSession();
SQLQuery sqlQuery = sqlSession.createSQLQuery(sql);
setQueryParameter(sqlQuery, args);
return queryResultToMap(sqlQuery);
}


@SuppressWarnings("unchecked")
private static List<Map<String, Object>> queryResultToMap(Query query) {
return query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
}


private static void setQueryParameter(Query query, Object... args) {
if (args != null) {
for (int i = 0, j = args.length; i < j; i++) {
query.setParameter(i, args[i]);
}
}
}

转载自:https://blog.csdn.net/xingxinglaile/article/details/52849313

相关文章:

  • Stimulsoft Reports.Net基础教程(四):创建主从报表②
  • IntelliJ IDEA解决创建maven web项目慢的问题
  • 一些使用IDEA的诀窍
  • Tomcat启动时,webapps目录下的项目没有加载
  • 马哥预习视频
  • Document base xxx does not exist or is not a readable directory
  • 一位资深程序员大牛给予Java初学者的学习路线建议
  • WITH AS的用法
  • pivot的用法
  • POJ1840 Eqs(hash)
  • Dangling meta character '+' near index 0,解决办法
  • swift - 将表格滚动条移动到底部
  • 把springboot项目设置成Windows系统开机启动
  • java中获取当前年月
  • java中元注解 @Retention @Target @Document @Inherited
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【刷算法】求1+2+3+...+n
  • AHK 中 = 和 == 等比较运算符的用法
  • Debian下无root权限使用Python访问Oracle
  • Flex布局到底解决了什么问题
  • go语言学习初探(一)
  • Hibernate【inverse和cascade属性】知识要点
  • HTML5新特性总结
  • Java基本数据类型之Number
  • js继承的实现方法
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • MySQL QA
  • MySQL数据库运维之数据恢复
  • Python3爬取英雄联盟英雄皮肤大图
  • React-flux杂记
  • SQLServer之索引简介
  • vuex 学习笔记 01
  • 第十八天-企业应用架构模式-基本模式
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 记一次和乔布斯合作最难忘的经历
  • 排序算法之--选择排序
  • 前言-如何学习区块链
  • 小程序button引导用户授权
  • 以太坊客户端Geth命令参数详解
  • k8s使用glusterfs实现动态持久化存储
  • ​queue --- 一个同步的队列类​
  • ​ssh免密码登录设置及问题总结
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #图像处理
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十)c52学习之旅-定时器实验
  • (一)基于IDEA的JAVA基础10
  • .NET 材料检测系统崩溃分析
  • .NET 药厂业务系统 CPU爆高分析