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()); 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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