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

做印刷广告的图片在哪个网站找网站建设项目软件开发招标文件

做印刷广告的图片在哪个网站找,网站建设项目软件开发招标文件,牡丹江做网站的公司,网站建设及维修合同范本背景 因为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.yayakq.cn/news/203075/

相关文章:

  • php网站建立教程网络营销模式不是孤立存在的
  • php网站开发能挣多钱大连网站建设流程图
  • 简洁大气蓝色文章资讯网站免费开网店平台有哪些
  • 有专门做网站的公司临沂做网站的公司
  • 课程网站模板百度手机应用商店
  • 百度的网站收录怎么做咸阳seo推广
  • jsp网站开发实例教学如何搭建自己的网站平台
  • 厦门网站建设网页设计国际要闻头条最新
  • wordpress+爱情主题公园现在的seo1发布页在哪里
  • dedecms 调用网站内部搜索百度广告运营
  • 营销软件站导购网站自己做电商
  • 宁波网站排名中国人保官网
  • wordpress站点费用房产网站建设哪家好
  • 网站建设利弊私人订制软件平台
  • 网营中国网站建设鄞州做网站
  • dedecms 一键更新网站wordpress 清理缓存
  • 新网的网站建设一般是多少钱在元典公司做网站有合同吗
  • 对二次网站开发的认识网站模版一样 内容不同侵权吗
  • 网站制作多少钱400网站怎么升级
  • 西安企业建站价格网站开发的开题任务书
  • 做网站运营需要有什么能力平面设计的软件叫什么
  • 无锡网站制作哪里实惠上海招聘信息最新招聘
  • 南京网站外包什么是网站建设策划书
  • 大连网站开发建个人主页设计html代码
  • 商业网站开发与设计wordpress赞赏插件
  • 吉他谱网站如何建设wordpress固定连接设置
  • 芜湖网站开发重庆的网站设计公司价格
  • 男做暧免费视频网站成都市建管平台
  • 陶瓷网站模板枣庄做网站优化
  • 山西省住房城乡建设厅网站学生个人网页制作教程