mysql+entityManager
满船清梦压星河~
这个作者很懒,什么都没留下…
展开
-
继解决Spring data jpa 批量插入重写saveAll()后遇到符号不兼容问题
问题描述问题:之前为解决Spring data jpa 批量插入/删除(saveAll()/deleteAll())速度慢的问题重写了saveAll()方法,用自定义拼接sql的方法组装sql,但是会出现不兼容特殊符号的问题,于是采用预处理的对占位符进行赋值。解决方案:使用 query.setParameter()对占位符进行赋值处理。@Override public List<OutChannelPlaybill> batchInsertPre(List<Out原创 2022-03-24 14:18:58 · 1221 阅读 · 0 评论 -
mysql insert语句值包含单引号特殊字符解决方法
问题描述:前文章记录saveAll()批量新增执行自定义sql衍生问题:saveAll()批量新增执行自定义sql使用entityManager执行批量新增语句,执行sql语句时报错,报错信息如下:Caused by: org.hibernate.exception.SQLGrammarException: could not execute statement at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert原创 2022-01-07 10:38:43 · 6300 阅读 · 1 评论 -
解决Spring data jpa 批量插入/删除(saveAll()/deleteAll())速度慢的问题
问题描述:项目中使用到了Spring data jpa技术,调用 JpaRepository.saveAll()/deleteAll()方法对list中的数据进行插入/删除时,发现速度特别慢,数据量5k+的数据大概需要话费20s+,导致请求时间过长,前端报错请求超时。saveAll底层源码: @Transactional public <S extends T> List<S> saveAll(Iterable<S> entities) { Assert.n原创 2021-12-29 16:16:44 · 8541 阅读 · 6 评论 -
mysql数据库查询find_in_set()函数配合entityManager执行自定义语句的使用
问题描述:数据查询的时候,有时候会遇到字段在数据库中存值是逗号分隔的,前端传来的条件也是逗号分隔,如果直接去like匹配可能会因为顺序原因匹配不到,这样就用到了find_in_set()函数,忽略顺序,只看值是否包含在字段中。例如:technology数据库存:4k,高清,vr前端传值:4k,vr public ResultBean<Object> getOutChannelList(OutChannelInfo outChannelInfo) { //拼接自定原创 2021-06-01 14:54:04 · 202 阅读 · 1 评论