SpringData JPA动态拼接sql语句实现动态的多表条件查询 2022-02-24 07:50 2482阅读 0赞 @Autowired private EntityManager entityManager; public List<Object[]> findSignFileAndPosition(int pageNum, TbSignFile search) { PageRequest pageRequest = new PageRequest(pageNum, 10); StringBuffer sql = new StringBuffer("SELECT sf.file_code, sup.type " + "FROM tb_sign_file sf LEFT JOIN tb_sign_user_position sup " + "ON sf.file_code = sup.file_id " + "where 1=1 "); Map<String, Object> map = new HashMap<String, Object>(); int i = 1; if (StringUtils.isNotBlank(search.getFileType())) { sql.append(" and sf.file_type="); sql.append("?" + i); map.put(i + "", search.getFileType()); i++; } if (StringUtils.isNotBlank(search.getSignerType())) { sql.append(" and sf.signer_type="); sql.append("?" + i); map.put(i + "", search.getSignerType()); i++; } if (StringUtils.isNotBlank(search.getSignMethod())) { sql.append(" and sf.sign_method="); sql.append("?" + i); map.put(i + "", search.getSignMethod()); i++; } if (StringUtils.isNotBlank(search.getStatus())) { sql.append(" and sf.status="); sql.append("?" + i); map.put(i + "", search.getStatus()); i++; } sql.append(" order by sf.update_time desc"); String sqlStr = sql.toString(); String count = "SELECT count(1) "; String substring = sqlStr.substring(0, sql.indexOf("FROM")); String countSql = sqlStr.replace(substring, count); Query query = entityManager.createNativeQuery(sqlStr); Query countQuery = entityManager.createNativeQuery(countSql); for (String key : map.keySet()) { query.setParameter(key, map.get(key)); countQuery.setParameter(key, map.get(key)); } query.setFirstResult((pageNum -1) * 10); query.setMaxResults(10); long total = ((BigInteger)countQuery.getSingleResult()).longValue(); List list = query.getResultList(); return list; }
相关 mysql多条件模糊查询语句_实现多条件模糊查询SQL语句 很多网友问到如何写模糊查询语句和多条件查询,这里我整理了一下,假设以姓名、性别、电话号...作为数据库中的字段名。 通常写一个简单的模糊查询的SQL语句格式可以如下例: s r囧r小猫/ 2023年01月12日 04:09/ 0 赞/ 208 阅读
相关 Spring Boot Jpa之构建动态SQL查询语句 Spring Boot Jpa之构建动态SQL查询语句 引入依赖包: <dependency> <groupId>org.springframe 小灰灰/ 2022年06月15日 03:11/ 0 赞/ 339 阅读
相关 MyBatis中动态SQL语句完成多条件查询 MyBatis中动态SQL语句完成多条件查询,条件可以为字符串,数值,时间,以及自定义的类. 写的不好之处请指教~ MyBatis的XML: <mapper na 雨点打透心脏的1/2处/ 2022年06月08日 13:00/ 0 赞/ 233 阅读
相关 Springboot整合JPA以及动态条件查询的实现 前言: 为了学习JPA技术,我在网上翻阅了几十篇关于Springboot整合JPA的文章,但文章内容由于作者水平良莠不均,非常影响类似我这样的菜鸟的学习效 Bertha 。/ 2022年06月08日 12:23/ 0 赞/ 783 阅读
相关 表名动态生成拼接到sql语句的sql注入问题 背景:根据业务需要,每个月生成一张根据年份和月份的表,然后当前的数据存到当前月份的表。 关键代码如下: > String tabName = "tabsaveeve 末蓝、/ 2022年04月16日 02:24/ 0 赞/ 1091 阅读
相关 SpringData JPA动态拼接sql语句实现动态的多表条件查询 @Autowired private EntityManager entityManager; public List<Object[]> ゝ一世哀愁。/ 2022年02月24日 07:50/ 0 赞/ 2483 阅读
相关 多条件查询sql语句 查询时根据你所输入的内容进行查询 str\_query1 = "select \ from table"; string key1 = ""; string key2 深藏阁楼爱情的钟/ 2022年01月11日 00:25/ 0 赞/ 444 阅读
相关 关于 Spring Data JPA 实现动态多条件查询 最近抽出来一些时间来整理,最近用到的东西,这次主要是写一下 JPA 的动态实现多条件查询 这里就不贴全部的内容了,只贴出来了,关键代码 首先是 Dao,作为一个负责任的博主 男娘i/ 2021年12月03日 15:05/ 0 赞/ 345 阅读
相关 springdata jpa jpql 条件查询 > jpql 条件 case when 查询 这里查询状态为1的用户的登录名,否则赋值zz @Query(value = "select ca 曾经终败给现在/ 2021年11月10日 04:32/ 0 赞/ 298 阅读
相关 springdata jpa jpql 条件查询 > jpql 条件为真,则添加条件查询;否则不添加条件查询; 参数是否为空,是则添加参数条件,否不添加 @Query(value="selec 红太狼/ 2021年11月10日 04:31/ 0 赞/ 414 阅读
还没有评论,来说两句吧...