使用NutzDao进行复杂SQL条件查询
2017-08-19 09:42
435 查看
使用NutzDao进行复杂SQL条件查询
NutzDao中支持对数据的多种复杂查询,用户可以很方便的查询到想得到的数据。
使用Cnd对象按条件查询
org.nutz.dao.Dao接口的query方法的第二个参数提供了SQL条件查询功能,这个参数是org.nutz.dao.Cnd对象,它是org.nutz.dao.Condition接口的实现类。该类中包含两个方法:Cnd.wrap()和Cnd.where()方法。
Cnd.wrap()方法
该方法中提供一个字符串参数,该字符串参数就是你的SQL语句where之后的查询条件,这样SQL语句的查询条件就以直接硬编码的方式存在。其代码如下:
ListuserList = dao.query(User.class,
Cnd.wrap("uname like '%ang%' and uage=20"), null);
Cnd.where()方法
该方法包含三个字符串参数,第一个参数是数据表中所对应的字段,第二个参数是SQL语句的查询条件关键字或者符号,第三个参数是SQL语句的参数;其代码如下:
ListuserList = dao.query(User.class,
Cnd.where("uname", "LIKE","y%"), null);
还可以使用Cnd.where()方法进行嵌套查询,这里用到了NutzDao中的另一个对象,ExpGroup,使用该对象构建连个SQL条件表达式作为参数传到Cnd.where()方法中。如下:
// 使用ExpGroup,Cnd.where()嵌套表达式,进行复杂查询
ExpGroup group1 = Cnd.exps("uname", "LIKE", "%y").and("uage", ">", "11");
ExpGroup group2 = Cnd.exps("uname", "LIKE", "%c%").and("uage", "<", "30");
Condition cnd = Cnd.where(group1).or(group2);
List userList = dao.query(User.class,
cnd , null);
Useruser = new User();
所以今后在使用NutzDao进行复杂查询时,应该使用Cnd对象进行查询。
NutzDao中支持对数据的多种复杂查询,用户可以很方便的查询到想得到的数据。
使用Cnd对象按条件查询
org.nutz.dao.Dao接口的query方法的第二个参数提供了SQL条件查询功能,这个参数是org.nutz.dao.Cnd对象,它是org.nutz.dao.Condition接口的实现类。该类中包含两个方法:Cnd.wrap()和Cnd.where()方法。
Cnd.wrap()方法
该方法中提供一个字符串参数,该字符串参数就是你的SQL语句where之后的查询条件,这样SQL语句的查询条件就以直接硬编码的方式存在。其代码如下:
ListuserList = dao.query(User.class,
Cnd.wrap("uname like '%ang%' and uage=20"), null);
Cnd.where()方法
该方法包含三个字符串参数,第一个参数是数据表中所对应的字段,第二个参数是SQL语句的查询条件关键字或者符号,第三个参数是SQL语句的参数;其代码如下:
ListuserList = dao.query(User.class,
Cnd.where("uname", "LIKE","y%"), null);
还可以使用Cnd.where()方法进行嵌套查询,这里用到了NutzDao中的另一个对象,ExpGroup,使用该对象构建连个SQL条件表达式作为参数传到Cnd.where()方法中。如下:
// 使用ExpGroup,Cnd.where()嵌套表达式,进行复杂查询
ExpGroup group1 = Cnd.exps("uname", "LIKE", "%y").and("uage", ">", "11");
ExpGroup group2 = Cnd.exps("uname", "LIKE", "%c%").and("uage", "<", "30");
Condition cnd = Cnd.where(group1).or(group2);
List userList = dao.query(User.class,
cnd , null);
Useruser = new User();
所以今后在使用NutzDao进行复杂查询时,应该使用Cnd对象进行查询。
相关文章推荐
- Spring-JDBC:在使用JdbcTemplate进行条件查询时没有返回数据,但是sql直接在数据库中执行是有数据返回的。
- C#连接SQL多条件复杂查询
- 使用准则进行条件查询
- 使用sql-server进行分布式查询(链接服务器)
- 使用准则进行条件查询--1.3.运行查询前输入参数
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- com.microsoft.sqlserver.jdbc.SQLServerException: 此查询使用的不是 ANSI 外部联接运算符("*=" 或 "=*")。若要不进行修改即运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 构造使用IN子句的动态Transact-SQL方法进行编号查询
- 在SQL中使用convert函数进行日期的查询
- MVC中使用Linq To Sql进行数据查询及分页
- 在SQL中使用convert函数进行日期的查询
- Hibernate学习31 -- Hibernate查询语言(HQL)5 -- 直接使用sql进行查询
- sql中用case when实现复杂条件查询
- 使用准则进行条件查询--1.4.从窗体中选择查询的条件
- Linq to Sql:N层应用中的查询(下) : 根据条件进行动态查询
- 在SQL中使用convert函数进行日期的查询的代码
- SQL2000系统表、存储过程、函数的功能介绍及应用2009年01月21日 星期三 11:38虽然使用系统存储过程、系统函数与信息架构视图已经可以为我们提供了相当丰富的元数据信息,但是对于某些特殊的元数据信息,我们仍然需要直接对系统表进行查询。因为SQL
- SQL SERVER2000教程-第五章 处理数据 第十七节 使用CASE函数格式进行条件查询
- pl/sql中在where in()子句里怎么使用字符串变量来传递查询条件?