【Hibernate】uniqueResult方法「建议收藏」

【Hibernate】uniqueResult方法「建议收藏」数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“selecturfromUsersRolesurwhereur.role.id=?andur.

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

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库中根据你的查询条件只会返回唯一结果,就可以用uniqueResult这个方法!否则就用list();其返回类型为Object 

uniqueResult()方法通常是在业务方法查询语句中用到的,比如(UsersRoles)getSession().createQuery(“select ur from UsersRoles ur where ur.role.id = ? and ur.user.id = ?”) .setParameter(0, roleId) .setParameter(1, userId) .uniqueResult();这时通表示只(从数据库中只返回一条记录)返回一个对象。当不确定时用List()方法

 

如果查询返回多个值用list()方法

1. public void testQuery(){  

2.         Configuration config = new Configuration().configure();  

3.         SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory  

4.         Session session = factory.openSession();        //创建Session  

5.         session.beginTransaction();                     //开始事务  

6.           

7.         Query query = session.createQuery(“from Student”);  

8.         List list = query.list();  // 用list方法返回多个值  

9.         //List list = session.createQuery(“from Student”).list();  

10.         for(int i=0;i<list.size();i++){  

11.             Student student = (Student)list.get(i);  

12.             System.out.print(student.getId()+” “);  

13.             System.out.print(student.getName()+” “);  

14.             System.out.print(student.getSex()+” “);  

15.             System.out.print(student.getBirthday());  

16.             System.out.println();  

17.         }         

18.           

19.         session.getTransaction().commit();         //提交事务   

20.         session.close();                           //关闭Session  

21.     }  

 

当确定返回的实例只有一个或者null时 用uniqueResult()方法

1. public void testQuery(){  

2.         Configuration config = new Configuration().configure();  

3.         SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory  

4.         Session session = factory.openSession();        //创建Session  

5.         session.beginTransaction();                     //开始事务  

6.           

7.         Query query = session.createQuery(“from Student”);  

8.         List list = query.list();  // 用list方法返回多个值  

9.         //List list = session.createQuery(“from Student”).list();  

10.         for(int i=0;i<list.size();i++){  

11.             Student student = (Student)list.get(i);  

12.             System.out.print(student.getId()+” “);  

13.             System.out.print(student.getName()+” “);  

14.             System.out.print(student.getSex()+” “);  

15.             System.out.print(student.getBirthday());  

16.             System.out.println();  

17.         }         

18.           

19.         session.getTransaction().commit();         //提交事务   

20.         session.close();                           //关闭Session  

21.     }  

 

当确定返回的实例只有一个或者null时 用uniqueResult()方法

public void testGet(){  

        Configuration config = new Configuration().configure();  

        SessionFactory factory = config.buildSessionFactory();  

        Session session = factory.openSession();  

        session.beginTransaction();  

          

        Query query = session.createQuery(“from Student s where s.id=?”);  

        query.setString(0, “2”);  

        Student student = (Student)query.uniqueResult();  //当确定返回的实例只有一个或者null时 用uniqueResult()方法  

        //Student student = (Student)session.createQuery(“from Student s where s.id=?”).setString(0,”5″).uniqueResult();  

          

        System.out.println(student.getName());  

        System.out.println(student.getBirthday());  

          

      

        session.getTransaction().commit();  

        session.close();  

    }  

 

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

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

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


相关推荐

  • CentOS中防火墙相关的命令(CentOS7中演示)

    CentOS中防火墙相关的命令(CentOS7中演示)

    2021年10月19日
  • 新手编程入门先学什么?

    新手编程入门先学什么?编程入门先学什么?关于编程的基本语言,想学习的朋友或多或少都会知道一些。C、C++、Python和Java一样,它们是通用编程语言,而JavaScript和PHP算是web环境的专用编程语言。但事实上,有许多种编程语言。如果想入门编程,学习的编程语言也有很多。编程入门先学什么?随着计算机的普及,越来越多的朋友开始走上自学编程的道路。那么,作为初学者,学习编程要如何入门?编程入门先学什么?一、先了解什么是编程如果你想学习一门新知识,你应该首先了解这门知识。通过内容可以做些什么?我们可以用什么样

    2022年6月15日
  • oracle与mysql分页的区别_分段存储和分页存储的区别

    oracle与mysql分页的区别_分段存储和分页存储的区别oracle与MySQL分页区别(1)MySql的Limitm,n语句Limit后的两个参数中,参数m是起始下标,它从0开始;参数n是返回的记录数。(2)Oracle数据库的rownum在Oracle数据库中,分页方式没有MySql这样简单,它需要依靠rownum来实现。Rownum表示一条记录的行号,值得注意的是它在获取每一行后才赋予。因此,想指定rownum的区间来取得分页数据在一层查询语句中是无法做到的,要分页还要进行一次查询。两种sql写法:SELECT*FROM(SEL

    2022年9月14日
  • 错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http

    错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http错误的类文件:apache-tomcat-7.0.73-windows-x64\apache-tomcat-7.0.73 \lib\servlet-api.jar(javax/servlet/http

    2022年4月25日
  • 跨域访问是什么_什么是跨域?怎么解决跨域问题

    跨域访问是什么_什么是跨域?怎么解决跨域问题跨域访问是什么同源策略1995年,同源政策由Netscape公司引人浏览器。目前,所有测览器都实行这个政策。同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。随着互联网的发展,“同源政策”越来越严格。目前,如果非同源,共有三种行为受到限制:】Cookie、LocalStorage和IndexDB无法读取DOM无法获得AJAX请求不能发送虽然这些限制是必要的,但是有时很不方便,合理的用途也受到影响。所谓“同源”指的是“三个相同”:协议相同、域名相同以及端相同。域名是什么

    2022年10月1日
  • [Android] ImageView.ScaleType设置图解

    [Android] ImageView.ScaleType设置图解ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等。设置的方式包括:1.在layoutxml中定义android:scaleType=”CENTER”2.或在代码中调用imageView.setScaleType(ImageView.ScaleType.CENTER);接下来,将对Scal

    2022年6月15日

发表回复

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

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