• Hibernate常用方法之_查询


    1、使用session的get方法

     1     public User getUser(int id){
     2         Session session = null;
     3         User user = null;
     4         try {
     5             session = HibernateUtils.getSession();
     6             /*根据主键获取一条记录*/
     7             user = (User) session.get(User.class,id);
     8         }finally {
     9             if (session != null){
    10                 session.close();
    11             }
    12         }
    13         return user;
    14     }

    2、使用HQL语言查询 Query

     1     public User getUserBynName(String name){
     2         User user = null;
     3         Session session = null;
     4         try {
     5             session = HibernateUtils.getSession();
     6             /*这里查的是User对象,不是user表,支持多态*/
     7             String hql = " FROM User as user WHERE user.name = :name ";
     8             Query query = session.createQuery(hql);
     9             query.setString("name",name);
    10             /*只返回一条记录,否则报错*/
    11             user = (User) query.uniqueResult();
    12         }finally {
    13             if (session != null){
    14                 session.close();
    15             }
    16         }
    17         return user;
    18     }
    19 
    20     public List<User> getUsersByName(String name){
    21         List<User> users = null;
    22         Session session = null;
    23         try {
    24             session = HibernateUtils.getSession();
    25             /*这里查的是User对象,不是user表,支持多态*/
    26             String hql = " FROM User as user WHERE user.name LIKE :name ";
    27             Query query = session.createQuery(hql);
    28             query.setString("name",name+"%");
    29             query.setFirstResult(10);
    30             query.setMaxResults(5);
    31             users = query.list();
    32         }finally {
    33             if (session != null){
    34                 session.close();
    35             }
    36         }
    37         return users;
    38     }

    3、使用条件查询 Criteria

     1     public User getUserByNameCri(String name){
     2         Session session = null;
     3         User user = null;
     4         try {
     5             session = HibernateUtils.getSession();
     6             /*条件查询*/
     7             Criteria criteria = session.createCriteria(User.class);
     8             /*添加约束条件*/
     9             criteria.add(Restrictions.eq("name",name));
    10             user = (User) criteria.uniqueResult();
    11         }finally {
    12             if (session != null){
    13                 session.close();
    14             }
    15         }
    16         return user;
    17     }
  • 相关阅读:
    C# 中的var关键字
    sql中去掉换行符和回车符
    Linq之旅:Linq入门详解(Linq to Objects)
    c# for 和 foreach
    c# Dictionary
    ASP.NET Web.config学习
    c# 装箱与拆箱的概念
    c# List集合学习
    Index was out of range
    C# double保留四位小数
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4586766.html
Copyright © 2020-2023  润新知