大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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账号...