Hibernate常用方法之_查询
1、使用session的get方法
     public User getUser(int id){
         Session session = null;
         User user = null;
         try {
             session = HibernateUtils.getSession();
             /*根据主键获取一条记录*/
             user = (User) session.get(User.class,id);
         }finally {
             if (session != null){
                 session.close();
             }
         }
         return user;
     }
2、使用HQL语言查询 Query
     public User getUserBynName(String name){
         User user = null;
         Session session = null;
         try {
             session = HibernateUtils.getSession();
             /*这里查的是User对象,不是user表,支持多态*/
             String hql = " FROM User as user WHERE user.name = :name ";
             Query query = session.createQuery(hql);
             query.setString("name",name);
             /*只返回一条记录,否则报错*/
             user = (User) query.uniqueResult();
         }finally {
             if (session != null){
                 session.close();
             }
         }
         return user;
     }
     public List<User> getUsersByName(String name){
         List<User> users = null;
         Session session = null;
         try {
             session = HibernateUtils.getSession();
             /*这里查的是User对象,不是user表,支持多态*/
             String hql = " FROM User as user WHERE user.name LIKE :name ";
             Query query = session.createQuery(hql);
             query.setString("name",name+"%");
             query.setFirstResult(10);
             query.setMaxResults(5);
             users = query.list();
         }finally {
             if (session != null){
                 session.close();
             }
         }
         return users;
     }
3、使用条件查询 Criteria
     public User getUserByNameCri(String name){
         Session session = null;
         User user = null;
         try {
             session = HibernateUtils.getSession();
             /*条件查询*/
             Criteria criteria = session.createCriteria(User.class);
             /*添加约束条件*/
             criteria.add(Restrictions.eq("name",name));
             user = (User) criteria.uniqueResult();
         }finally {
             if (session != null){
                 session.close();
             }
         }
         return user;
     }
Hibernate常用方法之_查询的更多相关文章
- Hibernate常用方法之_删除
		
1.使用session的delete方法 public void deleteUser(User user){ Session session = null; Transaction transact ...
 - Hibernate常用方法之_修改
		
1.使用session的saveOrUpdate方法 public void updateUser(User user){ Session session = null; Transaction tr ...
 - Hibernate常用方法之_插入
		
1.使用session的save方法进行插入 public void saveUser(User user){ Session session = null; Transaction transact ...
 - Hibernate框架笔记04HQL_QBC查询详解_抓取策略优化机制
		
目录 1. Hibernate的查询方式 1.1 方式一:OID查询 1.2 方式二:对象导航查询 1.3 方式三:HQL方式 1.4 方式四:QBC查询 1.5 方式五:SQL查询 2. 环境搭建 ...
 - hibernate将本地SQL查询结果封装成对象
		
hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...
 - [转载]Hibernate如何提升数据库查询的性能
		
目录(?)[-] 数据库查询性能的提升也是涉及到开发中的各个阶段在开发中选用正确的查询方法无疑是最基础也最简单的 SQL语句的优化 使用正确的查询方法 使用正确的抓取策略 Hibernate的性能优化 ...
 - hibernate使用原生SQL查询返回结果集的处理
		
今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQu ...
 - Hibernate 插入,修改,删除,查询语句
		
/* *具体操作hibernate的类 *增加,删除,修改,按ID查询,模糊查询,查询全部 **/ public class PersonOperate { //在hibernate中所有操作都是由S ...
 - 13.hibernate的native sql查询(转自xiaoluo501395377)
		
hibernate的native sql查询 在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hi ...
 
随机推荐
- Spring、Spring Boot、Spring Frame、Spring MVC的区别
			
Spring框架就像一个厂商,其下有很多产品,如Spring Boot.Spring Frame.Spring Cloud等等. Spring Boot用于快速.方便.简单的搭建一个Spring项目. ...
 - linux 查看系统当前时间,修改时间
			
linux 查看系统当前时间,修改时间1. 查看时间和日期命令 : "date"2.设置时间和日期例如:将系统日期设定成2018年6月8日的命令命令 : "date -s ...
 - 在Liunx Mint下无法切换到root用户
			
提示 su: Authentication failure 以ubuntu的mint root用户默认是也是禁止的 需要手动打开才行 a)root启用 执行下面的操作:1.先解除root锁定,为roo ...
 - JavaScript--Dom操作元素的样式
			
在前端开发中,有时候需要动态修改的网页元素的样式,这里将使用JS动态修改元素样式的方法做个小结: 网页结构: 按钮: 标签:input 类型:button id:btn ...
 - python字符串的格式化输出
			
很多时候我们在打印输入内容时希望有简单格式而不是拼接 一般做法: name = input("name:").strip() age = input("age:" ...
 - MySQL索引介绍
			
引言 今天Qi号与大家分享什么是索引.其实索引:索引就相当于书的目录 索引介绍 用官方的话说就是 索引是为了加速对表中数据行的检索而创建的一种分散的存储结构.索引是针对表而建立的,它是由数据页面以外的 ...
 - C语言实例解析精粹学习笔记——31
			
实例31: 判断字符串是否是回文 思路解析: 引入两个指针变量(head和tail),开始时,两指针分别指向字符串的首末字符,当两指针所指字符相等时,两指针分别向后和向前移动一个字符位置,并继续比较, ...
 - YSZOJ:#247. [福利]可持久化线段树 (最适合可持久化线段树入门)
			
题目链接:https://syzoj.com/problem/247 解题心得: 可持久化线段树其实就是一个线段树功能的加强版,加强在哪里呢?那就是如果一颗普通的线段树多次修改之后还能知道最开始的线段 ...
 - linux execl()函数
			
关于execl()函数族的用法不在赘述,其他博主介绍的很详细.下面说下作者在使用该函数时所犯的错误: 作者想通过使用execl()函数在子进程中调用其他函数,起初楼主是 这样用的: if((a = e ...
 - CSS3实现3d菜单翻转
			
transform-style:flat | preserve-3d: 3d透视属性.针对子元素如何在3d空间相对其父元素渲染,这个属性声明在父元素上,并且他的子元素使用了transform才会有效. ...