javaweb实现多条件动态查询应该怎么做

拼sql么还是用mybatis在xml里判断

多个表查询
条件选填
最好有代码
拜托诸位了图片说明图片说明图片说明

13个回答

Session session = SessionFactoryUtils.getSession(hibernateTemplate.getSessionFactory(), true);
penson(假如你的数据放在对象中)
Map map =new HashMap();
String sql =" select * from user where 1=1 ";
if(penson.getName != null){
map.put("name",penson.getName);
}else if(penson.getAge != null){
map.put("age",penson.getAge);
}
for (String key : map.keySet()) {
sql=sql+"and key="+map.get(key);
}

Query query = session.createSQLQuery(sql)

你这样都不明白我就没有办法了

你找对了人了,我的项目就是用mybatis,这种查询我经常写,贴代码给你

select * from ppqm_doc s where 1=1

and s.electron_No=#{electron_No}


and s.principal=#{principal}


and s.sponsor= #{sponsor}


and s.rating= #{rating}


and s.sponsor_Dep= #{sponsor_Dep}


and s.doc_type= #{doc_type}


and s.doc_Name like CONCAT(CONCAT('%', #{doc_Name}), '%')


and s.doc_No = #{doc_No}

order by s.id desc

喜欢就采纳一下

ios_king
果冻剑客 哎!没办法写个简单的例子给你
大约 4 年之前 回复
ios_king
果冻剑客 如果是用的hibernate 最简单的方法也就是用java判断然后拼接,这只是在xml文件中判断。hibernate也可以写原生态的sql。你查下百度第一第二条就看到了
大约 4 年之前 回复
qq_22270405
测试0000 您有什么建议吗,拜托了
大约 4 年之前 回复
qq_22270405
测试0000 我现在用的是hibanate框架,只能拼sql吗
大约 4 年之前 回复

图片说明
上传代码会出错,截图给你

qq_22270405
测试0000 hibernate
大约 4 年之前 回复
qq_22270405
测试0000 首先谢谢您,不过我现在用的是hibanate框架,您有什么建议吗
大约 4 年之前 回复

我是用if else拼接sql...

baidu_34049233
情人节也放假 回复JohnLF: 这里不好写 我重开一楼
大约 4 年之前 回复
baidu_34049233
情人节也放假 回复JohnLF: String sql = "select * from table where 1=1";
大约 4 年之前 回复
qq_22270405
测试0000 能说说怎么拼吗
大约 4 年之前 回复
baidu_34049233
情人节也放假 回复JohnLF: 我要是你,现在已经拼好啦,嘿嘿
大约 4 年之前 回复
qq_22270405
测试0000 拼sql看起来太乱了,有什么不用组装sql就能实现多条件查询的方法吗
大约 4 年之前 回复

单表查询的话,用通用mapper更容易拼接条件

qq_22270405
测试0000 多表。
大约 4 年之前 回复

查询条件是图片这样的图片

sql一个语句得到一个数据再导入到前台

qq_22270405
测试0000 能举个栗子吗☺
大约 4 年之前 回复

用mapper接口映射

qq_22270405
测试0000 能详细一些吗,拜托了
大约 4 年之前 回复

resultType="com.hundsun.zhengtingxue.SutdentInformation">
select * from stu_info where TRUE

AND stuNum=#{stuNum}


AND stuName=#{stuName}


AND stuNianji=#{stuNianji}


AND stuBanji=#{stuBanji}


AND stuTea=#{stuTea}


AND stuDepart=#{stuDepart}

可以采用反射生成sql语句
遵循一个规则
作为条件的对象字段不能为空
也就是不为空的字段是作为条件(类名和字段名与数据库表为同名,如果不同名则可以采用元注解来做)
如何是多表用反射不好构建sql语句,除非你想要的数据模式是固定的

共13条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐