回复必须的~
可以看看Tiny框架的做法:
public List<Custom> queryCustom(Custom custom) { return dslSession.fetchList( selectFrom(CUSTOM).where( and( CUSTOM.ID.eq(custom.getId()), CUSTOM.NAME.equal(custom.getName()), CUSTOM.AGE.equal(custom.getAge()) ) ) , Custom.class); }
上面的条件中,如果值为空,就会被自动忽略,所以实现出来的效果就是你想要的。
这是迷糊的柯南提的迷糊的问题
jfinal后台处理动态查询
回复我想写的是一个查询语句,根据不同的条件查询。就是有些网页中的那种高级查询。选择多个条件之后点击查询,系统会按着自己选择的条件进行查询。比如,条件有:姓名,年龄,性别。我三项都选择了,那么就会根据我的姓名,年龄,性别进行查询,如果我只选择了姓名,性别,那么就会根据我的姓名和性别查询,即使没选择年龄也不会出什么问题。我想这到这样的数据库语句怎么写。
回复我只是帮你引导一下,你的提问太简单了,别人没法回答,我不会的:)
回复好吧 还是谢谢你
showed = TRUE? 什么意思?
回复showed = TRUE是我数据库表有一个字段是showed。只筛选showed被设置为TRUE的那些记录。你的代码里可以不要这个条件。
回复昂 谢谢你 我做出来了。
/** * 查找列表 * * @param featureCode * @param countryCode * @param areaCode * @return */ public List<Record> findList(String featureCode, String countryCode, String areaCode) { StringBuilder whereBuilder = new StringBuilder("WHERE 1 = 1 AND showed = TRUE"); List<Object> paramList = new ArrayList<Object>(); whereBuilder.append(" AND featureCode = ?"); paramList.add(featureCode); if (StrKit.notBlank(countryCode)) { whereBuilder.append(" AND countryCode = ?"); paramList.add(countryCode); } if (StrKit.notBlank(areaCode)) { whereBuilder.append(" AND areaCode = ?"); paramList.add(areaCode); } return Db.find("SELECT id, name, countryCode, featureCode, areaCode, nexted FROM sys_area " + whereBuilder.toString() + " ORDER BY name ASC", paramList.toArray()); }
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(11)
回复
必须的~
可以看看Tiny框架的做法:
上面的条件中,如果值为空,就会被自动忽略,所以实现出来的效果就是你想要的。
这是迷糊的柯南提的迷糊的问题
jfinal后台处理动态查询
回复
我想写的是一个查询语句,根据不同的条件查询。就是有些网页中的那种高级查询。选择多个条件之后点击查询,系统会按着自己选择的条件进行查询。比如,条件有:姓名,年龄,性别。我三项都选择了,那么就会根据我的姓名,年龄,性别进行查询,如果我只选择了姓名,性别,那么就会根据我的姓名和性别查询,即使没选择年龄也不会出什么问题。我想这到这样的数据库语句怎么写。
回复
我只是帮你引导一下,你的提问太简单了,别人没法回答,我不会的:)
回复
好吧 还是谢谢你
showed = TRUE? 什么意思?
回复
showed = TRUE是我数据库表有一个字段是showed。只筛选showed被设置为TRUE的那些记录。你的代码里可以不要这个条件。
回复
昂 谢谢你 我做出来了。