Hibernate执行原生SQL

1、查询指定字段

     public List<Object[]> getUseList( Integer index, Integer offset, String state, String search ){

            String sqlSelect = "select user_id, user_name ";
            String sql = sqlSelect + " from users where user_status in (:state) limit :index, :offset";

                SQLQuery sqlQuery = sessionFactory.getCurrentSession().createSQLQuery(sql);

                sqlQuery.setInteger("index", index);
                sqlQuery.setInteger("offset", offset);

                String [] stateList = state.split(",");
                sqlQuery.setParameterList("state", stateList);

                search =  "%" + search + "%";
                sqlQuery.setString("userName", search);

                List<Object[]> restList = sqlQuery.list();

                return restList;
            }

获取结果集

for(Object[] restArr : restList){
                Map<String, Object> userMap = new HashMap<>();
                Integer userId = (Integer) restArr[0];
                String userName =  (String) restArr[1];
}
时间: 2024-11-03 15:16:50

Hibernate执行原生SQL的相关文章

hibernate 执行原生sql 返回实体list对象

String sql="select gc.* from eportal_goods_category gc "+ " inner JOIN "+ " eportal_goods g on gc.id=g.goods_category_id "+ " INNER JOIN "+ " eportal_seller se on  g.supplier_id=se.id "+ " where se.id

hibernate执行原生sql以及对结果集处理.

直接上代码: session.createQuery("From Icurl "); SQLQuery query = session.createSQLQuery("select ENTERPRISE_NAME,ADMIN_DEPT from t_register_enterprise e left join t_website_account a ON e.ID = a.SUBJECT_ID where a.SUBJECT_ID is null;"); quer

hibernate使用原生SQL查询返回结果集的处理

今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQuery拉来来实现SQL语句的查询,具体用法:session.createSQLQuery(sql),对于用SQL返回的结果集是一个什么样的结果集都毫无记忆.自己查了下,才知道,原来是返回一个Object类型数组的list集合,而其中Object类型的数组里的值则与sql语句中的查询项相对应,如果是s

Hibernate SQLQuery 原生SQL 查询及返回结果集处理-1

第一篇:官方文档的处理方法,摘自官方 在迁移原先用JDBC/SQL实现的系统,难免需要采用hibernat native sql支持. 1.使用SQLQuery hibernate对原生SQL查询执行的控制是通过SQLQuery接口进行的. Session.createSQLQuery(); 1.1标量查询 最基本的SQL查询就是获得一个标量(数值)的列表. sess.createSQLQuery("SELECT * FROM CATS").list(); sess.createSQL

【Django】执行原生SQL的三种方法 &#632542;

原文: http://blog.gqylpy.com/gqy/383 "> 如下三种方式 extra:结果集修改器,一种提供额外查询参数的机制 raw:执行原始SQL返回模型实例 connection/connections:直接执行自定义SQL(此方法不依赖model) 1.extra示例: # extra # 在QuerySet的基础上继续执行子语句 # extra(self, select=None, where=None, params=None, tables=None, ord

python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "orm_demo.settings") import django django.setup() # 启动Django项目 from app01 import models #返回QuerySet对象的方法: r

Django框架08 /聚合查询、分组、F查询和Q查询、执行原生sql、设置 sql_mode

目录 Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 2.分组 3.F查询和Q查询 4.执行原生sql(了解) 5.展示sql的 6.设置 sql_mode Django框架08 /聚合查询.分组.F查询和Q查询.执行原生sql.设置 sql_mode 1.聚合查询 aggregate(*args, **kwargs) aggregate()是QuerySet 的一个终止子句,意思是说,它返回一个包含一些键值对的字典.键的名称是聚合值

Hibernate 的原生 SQL 查询

Hibernate除了支持HQL查询外,还支持原生SQL查询.         对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口.该接口是Query接口的子接口.         执行SQL查询步骤如下:         1.获取Hibernate Session对象         2.编写SQL语句         3.通过Session的createSQLQuery方法创建查询对象         4.调用SQ

EF中执行原生sql与使用Local获取本地数据

使用DbSet的Local属性可以访问当前context中被追踪且没有被标记为删除的实体(内存中的数据) 1 using (var context = new BloggingContext()) 2 { 3 // Load all blogs from the database into the context 4 context.Blogs.Load(); 5 6 // Add a new blog to the context 7 context.Blogs.Add(new Blog {