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.}
版权声明:本文标题:Hibernate 模糊查询 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1704900404h466213.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论