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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm企业版激活码【2022最新】2022.01.22

    (pycharm企业版激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1TCF2R91JZ-eyJsaWNlbnNlSWQiOi…

    2022年3月31日
  • 秒 毫秒 微秒 纳秒 皮秒。。时间单位换算[通俗易懂]

    秒 毫秒 微秒 纳秒 皮秒。。时间单位换算[通俗易懂]1s=1000ms=1000000微秒=1000000000纳秒=1000000000000皮秒=10^15飞秒=10^18啊秒=10^21仄秒=10^24幺秒1s=10^3ms(毫秒)=10^6μs(微秒)=10^9ns(纳秒)=10^12ps(皮秒)=10^15fs(飞秒)=10^18as(阿秒)=10^21zm(仄秒)=10^24ym(幺秒)

    2022年9月5日
  • arcgis二次开发python-ArcGIS 二次开发专题 序「建议收藏」

    arcgis二次开发python-ArcGIS 二次开发专题 序「建议收藏」依据ArcGIS组件式开发及应用的目录结构,将系统性的学习ArcGIS二次开发的道路分为三个部分。这个系列包含以下三个部分:Part1基础1.前言1.1组件式GIS1.2ArcObject开发的特点与历史2.使用ArcGISEngine控件编程3.几何形体对象Geometry4.地图组成5.空间数据符号化6.空间数据管理7.空间分析8.空间数据编辑9.地图输出10…

    2022年7月23日
  • siamfc运行_sta系统

    siamfc运行_sta系统修改siamfc文件夹下的Load.py文件importsyssys.path.append(‘/home/nanorobot/Documents/siamfc/siamfc’)sys.path.append(‘/home/nanorobot/Documents/siamfc’)fromsiamfcimportTrackerSiamFC,ops上面是把需要用到的自定义的模块路径引入进来,以防后面找不到模块,路径根据你自己的文件位置改。下面是修改主函数:if__name__==

    2022年10月1日
  • sublime激活码【注册码】

    sublime激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
  • spring boot 测试的几种写法

    spring boot 测试的几种写法

    2021年5月12日

发表回复

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

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