hibernate sql查询_sql server查询命令

hibernate sql查询_sql server查询命令一.SQLQuery简介SQLQuery接口用于接受一个sql语句进行查询,然后调用list()或uniqueResult()进行查询。但是sql语句不会直接封装到实体对象里,需要手写代码才可以封装到实体中。二.SQLQuery常用接口方法addEntity()方法:该方法用于将查询到的结果集转换为你设置的实体类setter()方法:Query接口中提供了一系列的setter方法用于设置…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一.SQLQuery简介

SQLQuery接口用于接受一个sql语句进行查询,然后调用list()或uniqueResult()进行查询。但是sql语句不会直接封装到实体对象里,需要手写代码才可以封装到实体中。

二.SQLQuery常用接口方法

  • addEntity()方法:该方法用于将查询到的结果集转换为你设置的实体类
  • setter()方法:Query接口中提供了一系列的setter方法用于设置条件查询中的语句的参数,针对不同的数据类型,需要用到不同的setter方法。
  • list()方法:该方法用于返回多条查询结果
  • uniqueResult()方法:该方法用于返回唯一的结果,在确保只有一条记录的查询是可以使用该方法。

三.SQLQuery使用步骤

1.获取Hibernate的session对象
2.编写sql语句
3.通过Session对象获取SQLQuery实例
4.如果sql语句带有参数,则调用SQLQuery的setXx方法设置参数
5.执行SQLQuery接口list()方法或uniqueResult()获得结果。
多结果查询

//获取Session对象
Session session = HibernateUtil.getCurrentSession();
//获取事务
Transaction tx = session.beginTransaction();
//SQL语句
String sql = "SELECT * FROM person";
//获取SQLQuery对象
SQLQuery sqlQuery = session.createSQLQuery(sql);
//执行查询
List<Object[]> list = sqlQuery.list();
//打印
for (Object[] object : list) { 
   
System.out.println(Arrays.toString(object));
}

条件查询:

//获取Session对象
Session session = HibernateUtil.getCurrentSession();
//获取事务 
Transaction tx = session.beginTransaction();
//SQL语句
String sql = "SELECT * FROM person WHERE id = ? and name = ?";
//获取SQLQuery对象
SQLQuery sqlQuery = session.createSQLQuery(sql);
//添加占位符
sqlQuery.setParameter(0, 3);
sqlQuery.setParameter(1, "林某");
//将返回结果设置为Person对象
sqlQuery.addEntity(Person.class);
//执行查询
Person person = (Person) sqlQuery.uniqueResult();
//打印
System.out.println(person.toString()); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187633.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows宝塔面板彻底卸载_宝塔面板怎么样

    Windows宝塔面板彻底卸载_宝塔面板怎么样宝塔面板安装与卸载

    2025年9月8日
    6
  • windows update error 0x8024401c

    windows update error 0x8024401cError0x8024401c以系統管理員身分執行命令提示字元,然後執行下列三行指令:netstopwuauservregdeleteHKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdatenetstartwuauserv操作如下:C:\Windows\system32&gt;netstop…

    2022年4月27日
    55
  • python 中os模块os.path.exists()含义

    python 中os模块os.path.exists()含义os即operatingsystem(操作系统),Python的os模块封装了常见的文件和目录操作。os.path模块主要用于文件的属性获取,exists是“存在”的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径。举个栗子:user.py为存在于当前目录的一个文件输入代码:importospath…

    2022年7月12日
    15
  • 实时系统动态内存算法分析dsa(二)——TLSF代码分析

    实时系统动态内存算法分析dsa(二)——TLSF代码分析上一篇我们看了dsa的分类和简单的内存管理算法实现,这篇文档我们来看TLSF的实现,一种更加高级的内存管理算法;1、实现原理基本的Segregated Fit算法是使用一组链表,每个链表只包含特定长度范围来的空闲块的方式来管理空闲块的,这样链表数组的长度可能会很大。TLSF为了简化查找定位过程,使用了两层链表。第一层,将空闲内存块的大小根据2的幂进行分类,如(16、32、64.

    2022年6月28日
    30
  • 源码网_最好开源即时聊天源码

    源码网_最好开源即时聊天源码源码结构目录可以看到此模块定义了4个属性和12个函数,我们依次来讲解属性源码分析#匹配http://或https://absolute_http_url_regexp=re.compil

    2022年7月30日
    6
  • Eclipse快捷键大全(转载)

    Eclipse快捷键大全(转载)

    2021年8月19日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号