数据库query用法_query方法

数据库query用法_query方法1、以前写代码,总免不了要编写登录部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现:publicUserget(Stringname,Stringpassword){Sessionsession=HibernateUtil.getSessionFactory().openSession();String…

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

Jetbrains全系列IDE稳定放心使用

1、以前写代码,总免不了要编写登录部分。在获取user的时候,只可能返回一个user实例,或者为null。以前使用以下方法实现:

public  User get(String name,String password){   
    Session session=HibernateUtil.getSessionFactory().openSession();   
    String hql="from User u where u.name = ? and u.password=?" ;   
    List list=session.createQuery(hql).setString(0 , name).setString(1,password).list();   
    if  (list.size()== 1 ){   
        return  (User)list.get( 0 );   
    }else {   
        return   null ;   
    }   
}   

2、hibernate的参考手册中,query接口提供了一个更好的方法 uniqueResult () 用来获取实例,如果查询结果有多个值则抛出错误;结果有且只有一个值,返回一个object; 如果没值,返回null 

public User get(String name,String password){   
Session session=HibernateUtil.getSessionFactory().openSession();      
String hql="from User u where u.name = ? and u.password=?";      
return (User)session.createQuery(hql).setString(0,name).setString(1,password).uniqueResult();  
}   

如果查询结果有多个值则抛出NonUniqueResultException的错误; 
如果查询结果有且只有一个值,返回一个object; 
如果没值,返回null

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

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

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

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

(1)


相关推荐

  • LintCode 链表排序[通俗易懂]

    LintCode 链表排序[通俗易懂]题目描述:在O(nlogn)时间复杂度和常数级的空间复杂度下给链表排序。样例给出1->3->2->null,给它排序变成1->2->3->null.思路分析:sort扫一遍~ac代码:/***DefinitionofListNode*classListNode{*public:*intval;*ListNode*next;

  • 搜索引擎的工作原理

    搜索引擎的工作原理搜索引擎的基本工作原理包括如下三个过程:首先在互联网中发现、搜集网页信息;同时对信息进行提取和组织建立索引库;再由检索器根据用户输入的查询关键字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户。1、抓取网页。每个独立的搜索引擎都有自己的网页抓取程序爬虫(spider)。爬虫Spider顺着网页中的超链接,从这个网站爬到另一个网站,通过超链接…

  • HashMap扩容全过程

    HashMap扩容全过程 1.如果HashMap的大小超过了负载因子(loadfactor)定义的容量,怎么办?默认的负载因子大小为0.75,也就是说,当一个map填满了75%的bucket时候,和其它集合类(如ArrayList等)一样,将会创建原来HashMap大小的两倍的bucket数组,来重新调整map的大小,并将原来的对象放入新的bucket数组中。这个过程叫作rehashing,因为它调用hash方…

  • fvwm使用 1_vw3a1101使用说明书

    fvwm使用 1_vw3a1101使用说明书fvwm是一个X11的窗口管理器,提供虚拟窗口,提供多个桌面。提供键盘命令,控制窗口焦点。支持配置命令和动作命令。fvwm启动时读取配置文件,文件可以在多个位置,但是只有第一个找到的生效:$HOME/.fvwm/config/usr/local/share/fvwm/config$HOME/.fvwm/.fvwm2rc$HOME/.fvwm2rc/usr/local

  • nginx和apache的区别,选择哪个好?

    nginx和apache的区别,选择哪个好?Apache和Nginx最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;而nginx是异步的,多个连接(万级别)可以对应一个进程。下面本篇文章就来给大家介绍一下Apache和Nginx的区别有那些,选择哪个好?希望对你们有所帮助。一、Nginx特点  1、轻量级,采用C进行编写,同样的web服务,会占用更少的内存及资源。  2、抗并发,nginx以epollandkqueue作为开发模型,处理请求是异步非阻塞的,负载能力比apache高很多,而apache则.

  • SMO算法最通俗易懂的解释[通俗易懂]

    SMO算法最通俗易懂的解释[通俗易懂]我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~SVM通常用对偶问题来求解,这…

发表回复

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

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