admin 管理员组

文章数量: 887021


2024年1月10日发(作者:玫瑰花的编程代码)

Hibernate 模糊查询

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

方法一:

java 代码

1. public List listUncertainClasses(Object OId) throws Exception{

2. Session session=sionFactory().getCurrentSession();

3. ransaction();

4. String strSQL="from Classes as a where o like :name";

5. Query query = Query(strSQL);

6. ing("name", "%"+OId+"%");

7. List result=();

8. for(int i=0;i

9. Classes classes=(Classes)(i);

10. String classname=ssname();

11. String classno=ssno();

12. String specName=ciality().getName();

13. String departName=ciality().getDepartment().getName();

14. n(departName+"t"+specName+"t"+classname+"t"+classno);

15. }

16. nsaction().commit();

result;

18.}

方法二:

java 代码

1. public List listUncertainClasses_01(Object OId) throws Exception{

2. Session session=sionFactory().getCurrentSession();

3. ransaction();

4. List result=Query("from Classes as a where o like '%"+OId+"%'").list();

5. for(int i=0;i

6. Classes classes=(Classes)(i);

7. String classname=ssname();

8. String classno=ssno();

9. String specName=ciality().getName();

10. String departName=ciality().getDepartment().getName();

11. n(departName+"t"+specName+"t"+classname+"t"+classno);

12. }

13. nsaction().commit();

result;

15.}

方法三:

java 代码

1. public List listUncertainClasses_02(Object OId) throws Exception{

2. Session session=sionFactory().getCurrentSession();

3. ransaction();

4. List result=Query("from Classes as a where o like :name").setParameter("pid",OId).list();

5. for(int i=0;i

6. Classes classes=(Classes)(i);

7. String classname=ssname();

8. String classno=ssno();

9. String specName=ciality().getName();

10. String departName=ciality().getDepartment().getName();

11. n(departName+"t"+specName+"t"+classname+"t"+classno);

12. }

13. nsaction().commit();

result;

15.}


本文标签: 方式 代码 改进 变量 理想