项目中关于检索的注意事项
2014-09-18 00:16
246 查看
可以用criteria来做查询,比如要查询某个列表。
先说criteria的几个基本用法,举例
course与property两个对象是一对多,前一后多。
现在需要找寻property中id为2的所有course。
criteria.createAlias("properties","properties")
.add(Restrictions.eq("properties.id",currentPropertyId));
createAlias的用法。
现在查询course中name为某个的时候:
if(!Strings.isNullOrEmpty(name))criteria.add(Restrictions.like("name",name,MatchMode.ANYWHERE));
注意,需要对name进行判断是否为empty或为null。
然后就是MachMode的模糊查询用法。
再对列表进行倒序排序:criteria.addOrder(Order.desc("id"));
这是几个常用的用法。
接着说:用这个的好处就在于好添加条件。
比如现在说了name又说了property,等下又有一个,搞不好要修改service层,dao层的代码。
如果用criteria,就可直接在controller层直接添加。
这样,我们就可以很好的将列表和检索的用一个方法来做就行了。
以前我用错了,是这么回事,总列表,我用一个方法,而条件查询,我又用了一个方法。
这样,两个方法其实是重复了的。
先说criteria的几个基本用法,举例
course与property两个对象是一对多,前一后多。
现在需要找寻property中id为2的所有course。
criteria.createAlias("properties","properties")
.add(Restrictions.eq("properties.id",currentPropertyId));
createAlias的用法。
现在查询course中name为某个的时候:
if(!Strings.isNullOrEmpty(name))criteria.add(Restrictions.like("name",name,MatchMode.ANYWHERE));
注意,需要对name进行判断是否为empty或为null。
然后就是MachMode的模糊查询用法。
再对列表进行倒序排序:criteria.addOrder(Order.desc("id"));
这是几个常用的用法。
接着说:用这个的好处就在于好添加条件。
比如现在说了name又说了property,等下又有一个,搞不好要修改service层,dao层的代码。
如果用criteria,就可直接在controller层直接添加。
这样,我们就可以很好的将列表和检索的用一个方法来做就行了。
以前我用错了,是这么回事,总列表,我用一个方法,而条件查询,我又用了一个方法。
这样,两个方法其实是重复了的。
相关文章推荐
- 《关于个人承接项目的注意事项》读后感
- 关于一个项目中全局配置文件读取的注意事项
- C#项目关于程序中使用管理员权限的程序的打包,需要注意的事项
- 关于打包自定义标签,并导入项目使用时,出现java.lang.NoClassDefFoundError: JspException异常,解决方法和注意事项!
- 关于Tomcat发布项目注意的事项
- 《关于个人承接项目的注意事项》读后感
- 关于开发项目的注意事项-以javaEE为例
- 《关于个人承接项目的注意事项》读后感
- 《关于个人承接项目的注意事项》
- 关于个人承接项目的注意事项
- 关于个人承接项目的注意事项
- 《关于个人承接项目的注意事项》读后感
- 关于项目开发是引用类库的注意事项
- 关于海康威视Java web项目结合的几点注意事项
- 《关于个人承接项目的注意事项》
- 程序员必看:关于SQL Server的若干注意事项
- 关于双系统与NTFS格式注意事项
- 程序员必看:关于SQL Server的若干注意事项
- 关于jb9下面web services发布的必须注意的1个事项
- 关于SQL Server的若干注意事项