zoukankan      html  css  js  c++  java
  • HQL查询语句

    先来一个简单的示例

     1     /**
     2      * 根据姓名查询用户
     3      * @param name 姓名
     4      * @return 用户对象
     5      */
     6     public User getUserBynName(String name){
     7         User user = null;
     8         Session session = null;
     9         try {
    10             session = HibernateUtils.getSession();
    11             String hql = " FROM User as user WHERE user.name = :name ";
    12             Query query = session.createQuery(hql);
    13             query.setString("name",name);
    14             user = (User) query.uniqueResult();
    15         }finally {
    16             if (session != null){
    17                 session.close();
    18             }
    19         }
    20         return user;
    21     }
    11             String hql = " FROM User as user WHERE user.name = ?";
    12             Query query = session.createQuery(hql);
    13             query.setString(1,name);

    这样也行,但不推荐。注意,索引从1开始


     1     public List<User> getUsersByName(String name){
     2         List<User> users = null;
     3         Session session = null;
     4         try {
     5             session = HibernateUtils.getSession();
     6             /*这里查的是User对象,不是user表,支持多态*/
     7             String hql = " FROM User as user WHERE user.name LIKE :name ";
     8             Query query = session.createQuery(hql);
     9             query.setString("name",name+"%");
    10             users = query.list();
    11         }finally {
    12             if (session != null){
    13                 session.close();
    14             }
    15         }
    16         return users;
    17     }

    分页查询

     1     public List<User> getUsersByName(String name){
     2         List<User> users = null;
     3         Session session = null;
     4         try {
     5             session = HibernateUtils.getSession();
     6             /*这里查的是User对象,不是user表,支持多态*/
     7             String hql = " FROM User as user WHERE user.name LIKE :name ";
     8             Query query = session.createQuery(hql);
     9             query.setString("name",name+"%");
    10             query.setFirstResult(10);
    11             query.setMaxResults(5);
    12             users = query.list();
    13         }finally {
    14             if (session != null){
    15                 session.close();
    16             }
    17         }
    18         return users;
    19     }
  • 相关阅读:
    OpenJDK与HashMap
    跨终端Web之Hybrid App
    Java日志性能
    openstack
    Hadoop下各技术应用场景
    股票基金看哪些书
    Java内存模型的历史变迁
    浅谈JS DDoS攻击原理与防御
    清除Windows 10的文件夹浏览痕迹
    linux删除文件后没有释放空间
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4575751.html
Copyright © 2011-2022 走看看