Hibernate的检索(简单例子)

Hibernate的检索(简单例子)

 

前言:临近年关,显得有点匆忙。今天学习的东西不是很多,下面就简单分享下Hibernate的HQL检索和QBC(Query-By-Criteria)检索的简单步骤。

 

 

展示HQL检索:

  1.        // 创建一个Query对象
  2.        String hql ="from edu.hibernatetest.domain.po.User u whereu.loginname=:loginname";
  3.        Query query =session.createQuery(hql);
  4.        // 动态绑定参数
  5.        query.setString("loginname","lis");
  6.        // 执行查询结果,返回查询结果
  7.        List<User>returnList = query.list();
  8.       
  9.        for(Useruser:returnList){
  10.            System.out.println("登录名:"+user.getLoginname()+" 密码:"+user.getPassword());
  11.        }
  12.  
  13.  

 

展示QBC检索:

 

说下简单需求:向程序中添加查询模块。按“人员姓名”、“人员登录名”、“人员密码”三个字段来查询。有“人员姓名”查询,就拼hql语句,否则就按无此条件查询。

  1.  
  2.     public List<User>queryUsersByQuery(QueryForm query) {
  3.        // TODOAuto-generated method stub
  4.       
  5.        // 创建一个Criteria对象。
  6.        Criteria criteria =this.getSession().createCriteria(User.class);
  7.        // 设定查询条件,然后把查询条件加入到Criteria中
  8.        CriterioncriterionLoginName=null;
  9.        CriterioncriterionUserName=null;
  10.        CriterioncriterionPassword=null;
  11.        if(query.getQueryLoginname() != null && query.getQueryLoginname().length()> 0){
  12.            criterionLoginName= Expression.like("loginname","%"+query.getQueryLoginname()+"%");
  13.        }
  14.        if(query.getQueryUsername() != null && query.getQueryUsername().length()> 0){
  15.            criterionUserName= Expression.like("username","%"+query.getQueryUsername()+"%");
  16.        }
  17.        if(query.getQueryPassword() != null && query.getQueryPassword().length()> 0){
  18.            criterionPassword= Expression.like("password","%"+query.getQueryPassword()+"%");
  19.        }
  20.       
  21.        if(criterionLoginName != null) {
  22.            criteria.add(criterionLoginName);
  23.        }
  24.        if(criterionUserName != null) {
  25.            criteria.add(criterionUserName);
  26.        }
  27.        if(criterionPassword != null) {
  28.            criteria.add(criterionPassword);
  29.        }
  30.  
  31.       
  32.        returncriteria.list();
  33.     }
  34.  

 




如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值