猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
java基于用户搜索的动态where子句
您好我需要根据用户选择动态构建查询。我不能用 if 语句写 where 条件,因为我在 table 中有 50 列。有没有 if 语句的方法?
慕少森
浏览 159
回答 2
2回答
慕桂英4014372
你的意思是如何避免sql注入,比如在运行时连接sql语句? static final String INVOICE_QUERY = "SELECT inv from Invoice inv WHERE (:createDate IS NULL OR inv.createDate = :createDate) AND (:quantity IS NULL OR inv.quantity = :quantity) AND (:custName IS NULL OR inv.custName = :custName)"; Session session = getHibernateTemplate().getSessionFactory().openSession(); Query query = session.createQuery(INVOICE_QUERY); query.setDate("createDate", createDate); if(quantity != null) query.setLong("quantity", quantity); else query.setBigInteger("quantity", null); if(StringUtils.isNotBlank(custName)) query.setString("custName", custName); else query.setString("custName", null); return query.list();
0
0
0
拉丁的传说
您可以查看 CrtitriaAPI 或者您可以通过示例使用休眠功能查询实际上,如果您使用带有弹簧数据模块的弹簧,您可以查看规格请查看以下链接:https://dzone.com/articles/hibernate-query-example-qbe https://vladmihalcea.com/query-entity-type-jpa-criteria-api/ https://spring.io/blog/2011/04 /26/advanced-spring-data-jpa-specifications-and-querydsl/
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续