hibernate使用手写sql以及对结果list的处理
Session sees=simpleDAO.getSessionFactory().openSession();
String sql = "select * from fhcb_08_tbl_user_right";
SQLQuery query = sees.createSQLQuery(sql);
List<?> list = query.list(); for(Object o: list){
Object[]objects=(Object[])o; System.out.println((BigDecimal) objects[0]+ "::" + (String) objects[2]);
}
其实hibernate查询出来的结果集不能直接用,得到的是一个Object数组,里面每个obj其实都是一个实体类,遍历拿到obj还不能直接当做实体对象操作,这个obj也是一个数组,元素顺序就是数据库字段顺序,取到obj里面的元素需要类型强转才能使用,正常操作。
如果类型拿不准,直接可以用objects[0].toString()方法取出里面的值。
对count的获取方法 String sql = "SELECT COUNT(*) FROM fhcb_08_tbl_login_record WHERE USERNAME="+"'"+userName+"'";
Session sees=simpleDAO.getSessionFactory().openSession();
Query query = sees.createSQLQuery(sql).addScalar("COUNT(*)", StandardBasicTypes.INTEGER);
int count=(Integer)query.uniqueResult();
1sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
2 .setResultTransformer(Transformers.aliasToBean(CatDTO.class)) 1String sql = "SELECT ID as {c.id}, NAME as {c.name}, " +
2 "BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} " +
3 "FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID";
4
5List loggedCats = sess.createSQLQuery(sql)
6 .addEntity("cat", Cat.class)
7 .addEntity("mother", Cat.class).list();
hibernate使用手写sql以及对结果list的处理的更多相关文章
- SpringBoot项目里,让TKmybatis支持可以手写sql的Mapper.xml文件
SpringBoot项目通常配合TKMybatis或MyBatis-Plus来做数据的持久化. 对于单表的增删改查,TKMybatis优雅简洁,无需像传统mybatis那样在mapper.xml文件里 ...
- Hive手写SQL案例
1-请详细描述将一个有结构的文本文件student.txt导入到一个hive表中的步骤,及其关键字 假设student.txt 有以下几列:id,name,gender三列 1-创建数据库 creat ...
- 面试题四:手写sql
矫正数据,有以下2个表,建表语句如下所示 -- 订单表 create table t_order ( id int auto_increment primary key, name varchar(2 ...
- IDEA中mybatis插件自动生成手写sql的xml文件
上图: 选择这个安装,然后重启IDEA,ok.
- 使用HibernateTemplate手写源生SQL的【增删改查】 操作
使用 HibernateTemplate 进行持久化操作 执行的时候不报错,但数据库的持久化操作没有一点作用,问了好多人,说没有声明事务和提交事务, 用的是别人搭的的架构,事务已经有了,自动提交事务的 ...
- 30个类手写Spring核心原理之自定义ORM(上)(6)
本文节选自<Spring 5核心原理> 1 实现思路概述 1.1 从ResultSet说起 说到ResultSet,有Java开发经验的"小伙伴"自然最熟悉不过了,不过 ...
- 手写一个简单的ElasticSearch SQL转换器(一)
一.前言 之前有个需求,是使ElasticSearch支持使用SQL进行简单查询,较新版本的ES已经支持该特性(不过貌似还是实验性质的?) ,而且git上也有elasticsearch-sql 插件, ...
- 如何手写一款SQL injection tool?
0×01 前言 我想在FreeBuf上出没的人一般都是安全行业的,或者说是安全方面的爱好者,所以大家对sql注入应该都比较了解,反正我刚入门的时候就是学的这些:sql注入.xss之类的.sql注入从出 ...
- 手写DAO框架(四)-SQL执行
-------前篇:手写DAO框架(三)-数据库连接--------- 前言 通过上一篇写的方法,可以灵活的获取.释放数据库连接,拿到连接之后,我们就可以执行sql了!所以,本篇介绍的就是SQL执行器 ...
随机推荐
- SSM框架启动报 org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider
今天在做项目,在启动的时候报了一个错.错误信息是org.apache.bval.jsr303.ConfigurationImpl.getDefaultParameterNameProvider. 原因 ...
- Python 工程师技能图谱skill-map
# **Python 工程师技能图谱** ## **入门**- 笨办法学Py- 官方教程- Hitchhiker- coursera * codeskulptor.org ## **进阶/脚本** # ...
- Java面试题一览
Java面试题一览
- 用 Flask 来写个轻博客 (12) — M(V)C_编写和继承 Jinja 模板
Blog 项目源码:https://github.com/JmilkFan/JmilkFan-s-Blog 目录 目录 前文列表 扩展阅读 使用 Bootstrap 编写 Jinja 模板文件 继承一 ...
- Python错误 importModuleNotFoundError: No module named 'Crypto'
0x00经过 今天在python中导入模块的用 from Crypto.Cipher import AES 的时候出现了找不到模块的错误. 百度了很长时间有很多解决方法,但是因不同的环境不同的 ...
- array排序(按数组中对象的属性进行排序)
使用array.sort()对数组中对象的属性进行排序 <template> <div> <a @click="sortArray()">降序& ...
- 使用php的curl函数post返回值为301永久迁移的问题。(301 Moved Permanently)
本文链接:https://blog.csdn.net/Angus_01/article/details/82467652添加一行curl_setopt: curl_setopt($ch,CURLOPT ...
- python base64编码实现
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" def encode(b ...
- shell /dev/null
/dev/null表示空设备,这里就是把日志记录到空设备里,就是不记录日志,Null 是一特殊指标值(或是一种物件参照 reference)表示这个指标并不指向任何的物件. 是一个特殊的文件,写入到它 ...
- 字符串连接之“+”和append
在解决这个问题之前,需要了解的内容: 1.String是只读字符串,即String引用的字符串内容是不可改变的. 1 String s1 = "abc"; 2 s1 = " ...