hibernate HQL 模糊查询 3种方式

hibernate HQL 模糊查询 3种方式
以下是用 hibernate的HQL(面向对象的查询语言)实现模糊查询的3种方式,其中方式一是这三中方式中最理想的方式,至少方式一可以有效的防止由于查询条 件中需要参数的增多导致的代码长度太长出现代码折行的情况(代码太长会给后期的维护和测试带来很大的不便)。但是还有比他更理想的方式,因为方式一在定义 strSQL时使用String ,这就势必会造成当变量过多时strSQL自身太长的问题。一个比较有效的改进办法就是将String 改进为StringBuffer来处理。

方法一:

java 代码

public List listUncertainClasses(Object OId) throws Exception{   
    Session session=HibernateUtil.getSessionFactory().getCurrentSession();   
    session.beginTransaction();   
    String strSQL="from Classes as a where a.classno like :name";   
    Query query = session.createQuery(strSQL);   
    query.setString("name", "%"+OId+"%");   
    List result=query.list();   
for(int i=0;i
        Classes classes=(Classes)result.get(i);   
        String classname=classes.getClassname();   
        String classno=classes.getClassno();   
        String specName=classes.getSpeciality().getName();   
        String departName=classes.getSpeciality().getDepartment().getName();   
        System.out.println(departName+"/t"+specName+"/t"+classname+"/t"+classno);   
    }   
    session.getTransaction().commit();   
return result;   
}  
方法二:

java 代码

public List listUncertainClasses_01(Object OId) throws Exception{   
    Session session=HibernateUtil.getSessionFactory().getCurrentSession();   
    session.beginTransaction();   
    List result=session.createQuery("from Classes as a where a.classno like '%"+OId+"%'").list();   
for(int i=0;i
        Classes classes=(Classes)result.get(i);   
        String classname=classes.getClassname();   
        String classno=classes.getClassno();   
        String specName=classes.getSpeciality().getName();   
        String departName=classes.getSpeciality().getDepartment().getName();   
        System.out.println(departName+"/t"+specName+"/t"+classname+"/t"+classno);   
    }   
    session.getTransaction().commit();   
return result;   
}  
方法三:

java 代码

public List listUncertainClasses_02(Object OId) throws Exception{   
    Session session=HibernateUtil.getSessionFactory().getCurrentSession();   
    session.beginTransaction();   
    List result=session.createQuery("from Classes as a where a.classno like :name").setParameter("pid",OId).list();   
for(int i=0;i
        Classes classes=(Classes)result.get(i);   
        String classname=classes.getClassname();   
        String classno=classes.getClassno();   
        String specName=classes.getSpeciality().getName();   
        String departName=classes.getSpeciality().getDepartment().getName();   
        System.out.println(departName+"/t"+specName+"/t"+classname+"/t"+classno);   
    }   
    session.getTransaction().commit();   
return result;   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值