当前位置: 首页 > news >正文

健康证图片在线制作做优化关键词

健康证图片在线制作,做优化关键词,免费注册企业,wordpress评论cdn刷新背景 因为Mybatis-Plus的saveBatch()方法的批量插入其实也是循环插入,而不是真正的一个SqlSession完成的批插,效率很低。所以我们在写批量插入的时候是自己实现了一个工具类去生成批量插入的sql再去执行,但是会遇到有些文本里有单引号导致插…

背景

因为Mybatis-Plus的saveBatch()方法的批量插入其实也是循环插入,而不是真正的一个SqlSession完成的批插,效率很低。所以我们在写批量插入的时候是自己实现了一个工具类去生成批量插入的sql再去执行,但是会遇到有些文本里有单引号导致插入失败的情况,因此需要优化这个工具类

优化工具类

先贴一下优化后的工具类的代码

/*** 构建批量插入语句 insert 语句** @param clazz        实体类class* @param beanList     要插入的带值的对象集合* @param ignoreFields 需要忽略的属性名集合*/public static <T> String getInsertString(Class<T> clazz, Collection<T> beanList, String... ignoreFields) {StringBuilder insertSql = new StringBuilder();String className = clazz.getSimpleName();insertSql.append("insert into ").append(StrUtil.toUnderlineCase(className)).append("(");Field[] allFields = FieldUtils.getAllFields(clazz);// 构建字段StringBuilder columnSql = new StringBuilder();for (Field field : allFields) {// 构建非static的属性String name = field.getName();if (!isIgnore(ignoreFields, name)) {if (!Modifier.isStatic(field.getModifiers())) {columnSql.append(StrUtil.toUnderlineCase(name)).append(",");}}}insertSql.append(StrUtil.removeSuffix(columnSql.toString(), ",")).append(")").append(" values ");// 循环构建参数for (T t : beanList) {StringBuilder paramsSql = new StringBuilder();paramsSql.append("(");// 根据字段构建参数for (Field field : allFields) {// 构建非static的属性String name = field.getName();if (!isIgnore(ignoreFields, name)) {if (!Modifier.isStatic(field.getModifiers())) {Object fieldValue = ReflectUtil.getFieldValue(t, field.getName());/* 根据格式转换数据 */if (fieldValue instanceof String) {String fieldValueStr = (String) ReflectUtil.getFieldValue(t, name);//防止值里面有'导致插入数据失败if (StringUtils.isNotBlank(fieldValueStr)) {fieldValueStr = fieldValueStr.replaceAll("'", "''");paramsSql.append("'").append(fieldValueStr).append("',");} else {paramsSql.append("null,");}} else if (fieldValue instanceof Enum) {paramsSql.append("'").append(ReflectUtil.getFieldValue(t, name)).append("',");} else if (fieldValue instanceof Date) {Date dateValue = (Date) ReflectUtil.getFieldValue(t, name);paramsSql.append("'").append(DateUtil.format(dateValue, DatePattern.NORM_DATETIME_PATTERN)).append("',");} else if (fieldValue instanceof LocalDateTime) {LocalDateTime dateValue = (LocalDateTime) ReflectUtil.getFieldValue(t, name);paramsSql.append("'").append(DateUtil.format(dateValue, DatePattern.NORM_DATETIME_PATTERN)).append("',");} else {paramsSql.append(ReflectUtil.getFieldValue(t, name)).append(",");}}}}insertSql.append(StrUtil.removeSuffix(paramsSql.toString(), ",")).append(")").append(",");}return StrUtil.removeSuffix(insertSql.toString(), ",");}

处理方案

对于’这种特殊符号,可以直接将一个单引号修改为两个单引号,在执行sql语句的时候,两个单引号会被像转移字符一样处理成一个单引号入库,这样即不会报错,也可以保留文本的原始内容

http://www.hrbkazy.com/news/23061.html

相关文章:

  • 重庆璧山网站制作公司推荐百度推广客服电话多少
  • 网站站内推广网站免费推广网站
  • 免费制作微信小程序的网站站长工具网
  • 郑州网站建设企业名录百度联系方式
  • jsp新闻网站开发代码怎样宣传网站
  • 长沙岳麓区疫情最新情况网站百度关键词seo排名优化
  • 成都建设银行合作装修网站升华网络推广软件
  • 广安市建设局官方网站北京seo公司有哪些
  • 怎么申请免费国内免费网站百中搜
  • 手机网站推广法广东东莞最新疫情
  • 一般网站建设大概需要多少钱品牌seo是什么意思
  • 宁波住房和城乡建设局网站公司网站建设代理
  • java可以做网站后台seo推广薪资
  • 北京it外包公司德兴网站seo
  • 网站开发设置用户外贸谷歌优化
  • 电脑网站有哪些交换友情链接的途径有哪些
  • 苏州专业高端网站建设seo指导
  • 做目录网站注意抖音seo推广
  • 品牌网站怎么做seo排名优化代理
  • 自己做网站卖别人的机械设备5118和百度指数
  • 营销策划书范文大全seod的中文意思
  • 门户网站需求爱站网站长seo综合查询
  • 公司做宣传网站站长之家查询网站
  • 用书籍上的文章做网站SEO青岛网站建设公司哪家好
  • 校园网二手书交易网站建设搜索网站哪个好
  • 免费制作网站江苏网站建站系统哪家好
  • 网站开发合同里的坑国家职业技能培训官网
  • wordpress更改url如何做seo
  • 网站首页没有收录西安百度推广开户运营
  • 公司网络推广方法网站优化策略