spring的jdbcTemplate批量添加数据,单条数据中文正常,多数据第二条数据开始中文乱码

2023-11-18

今天用spring的jdbcTemplate(org.springframework.jdbc.core.JdbcTemplate
)批量添加数据,方法是jdbcTemplate.bathUpdate(),然后遇到一个很神奇的问题:
批量添加的数据中是有中文,如果只添加一条数据,是没问题的,但是如果添加两条或两条以上的数据时,语句在执行第二条数据时就会中文乱码,导致数据添加失败。
先来看下批量添加的代码:

public int batchInsertCustomerInfo(final List<CustomerInfoBean> cilist) {
		try {
		String v_sql = "INSERT INTO customer_info (cid, customer_name) VALUES (?, ?);";
		jdbcTemplate.batchUpdate(v_sql, new BatchPreparedStatementSetter() {
			public void setValues(PreparedStatement ps, int i)
					throws SQLException {
				ps.setString(1, cilist.get(i).getCid());
				ps.setString(2 cilist.get(i).getCustomer_name());
			}
			public int getBatchSize() {
				return cilist.size();
			}
		});
			return 0;
		} catch (Exception e) {
			System.out.println(e.getMessage());
			return 1;
		}
	}

乍看之下没发现什么问题,仔细对比其他正常的批量添加代码,也没有发现异常。
那么问题出在哪里呢?
大家仔细看下这句话:

String v_sql = "INSERT INTO customer_info ( cid, customer_name) VALUES (?, ?);";

sql语句最后多了一个分号。将这个分号去掉之后,就能正常执行语句,且中文不会出现乱码的情况了!!!
学艺不精,不知道为什么多了一个分号就会导致中文乱码的情况。有了解的小伙伴还请评论解释下,谢谢!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

spring的jdbcTemplate批量添加数据,单条数据中文正常,多数据第二条数据开始中文乱码 的相关文章

随机推荐

  • QT---UI的使用

    目录 一 UI的介绍 二 UI的使用 一 UI的介绍 UI的使用是指通过拖拽控件来绘制界面 二 UI的使用
  • Java设计模式——外观模式

    文章目录 外观模式 外观模式 外观模式是为了解决类与类之家的依赖关系的 像spring一样 可以将类和类之间的关系配置到配置文件中 而外观模式就是将他们的关系放在一个Facade类中 降低了类类之间的耦合度 该模式中没有涉及到接口 看下类图
  • 【自然语言处理

    文章目录 一 前言 二 详细介绍 2 1 token 2 2 embedding 2 3 encoding 一 前言 token 模型输入基本单元 比如中文BERT中 token可以是一个字 也可以是等标识符 embedding 一个用来表
  • python 判断字符串开头_python 怎么判断字符串开头

    函数 startswith 作用 判断字符串是否以指定字符或子字符串开头 python学习网 大量的免费python视频教程 欢迎在线学习 一 函数说明 语法 string startswith str beg 0 end len stri
  • Scanner类用法(学习笔记)

    Scanner类用法 学习笔记 后续会补充 1 next 用法 package com yushifu scanner import java util Scanner util java工具包 Scanner类 获取用户的输入 Scann
  • Java与Javascript比较(js入门)

    一 不同点 Java代码需要编译才能执行 而JS代码不需要编译就能执行 Java是基于服务端的语言 JS是基于客户端的语言 什么叫基于服务端和基于客户端 简单理解 就是需要在服务端执行的或需要在客户端执行的 js的基本语法 1 js的注释方
  • AndroidStudio显示Minimum supported Gradle version is 6.5

    AndroidStudio显示Minimum supported Gradle version is 6 5错误的解决办法 其实就是你导入的项目使用的Android gradle 插件 与当前你的Android studio 的Androi
  • 树状数组理论与实现

    理论 http www cnblogs com zhangshu archive 2011 08 16 2141396 html 今天听了大神的讲课 了解了点东西 发现是之前学过的 于是试着再写一遍 include
  • flutter text 左对齐_Flutter 基础布局Widgets之Wrap详解

    概述 Wrap好似Row和Column的结合 在横轴的表现和Row一致 而竖轴的表现和Column一致 比如当 this direction Axis horizontal 时 横轴 的child放置不下时就会在竖轴自动扩展一行 构造函数
  • webpack4 devServer 参数分析

    devServer module exports 各个参数 after function app server 在服务内部的所有其他中间件之后 提供执行自定义中间件的功能 allowedHosts array 此选项允许你添加白名单服务 允
  • Nginx路由--Location 的使用

    1 Location 语法规则 语法规则 location uri 首先匹配 其次匹配 其次是按文件中顺序的正则匹配 最后是交给 通用 匹配 当有匹配成功时候 停止匹配 按当前匹配规则处理请求 符号 含义 开头表示精确匹配 开头表示 uri
  • docker 与 k8s

    kubernetes 简称k8s 因为k和s 中间有 ubernete 8个单词 所以简称k8s 是一个开源的 用于管理云平台中多个主机上的容器化的应用 k8s 的目标是让部署容器化的应用简单并且高效 k8s 提供了应用部署 规划 更新 维
  • SQL注入类型

    SQL注入类型详解 SQL 注入是指web应用程序对用户输入数据控制不严格 导致用户输入数据被拼接到SQL语句中被数据库执行导致的安全问题 按照注入方式可以分为联合注入 布尔盲注 时间盲注 堆叠注入以及报错注入等五种注入方式 在sql注入时
  • Pygame详解(十二):Surface 对象

    pygame Surface Pygame 中用于表示图像的对象 Surface width height flags 0 depth 0 masks None gt Surface Surface width height flags 0
  • 崩坏3》画面效果为何惊艳?看米哈游怎么做卡通渲染的你就明白了

    http youxiputao com articles 11839 崩坏3 上架以来 我们看到了卡通渲染技术在游戏领域的高品质画面表现力 米哈游对这种技术恰到好处的运用也让 崩坏3 受到了广大玩家的喜爱 以及业内诸多从业人士的认可 事实上
  • Java正则校验密码至少包含:字母数字特殊符号中的2种

    一 语法 字符 说明 将下一字符标记为特殊字符 文本 反向引用或八进制转义符 例如 n匹配字符 n n 匹配换行符 序列 匹配 匹配 匹配输入字符串开始的位置 如果设置了 RegExp 对象的 Multiline 属性 还会与 n 或 r
  • 软件测试工程师自我介绍(范本)

    一 先介绍自己的基本信息 要注意扬长避短 1 年纪太大与太小 就不要主动去说明 比如你的年纪只有20岁 例子 我叫 从事软件测试工作有几年了 2 不是计算机相关专业毕业的也不要过多的去提 比如你的专业是机械专业 例子 我叫 从事软件测试工作
  • python selenium 滑动验证码

    def png from PIL import Image img Image open 1 png z img size data img convert RGB load for i in range z 0 dd for e in r
  • 【CMD】执行adb devices找不到设备的问题

    首先描述一下当时遇到的情况 手机USB连接电脑提示正常 设备管理器显示手机设备正常 问题是执行命令adb devices找不到设备 在Windows系统 资源管理器下 找到Android Sdk路径打开 看看那个文件夹platform to
  • spring的jdbcTemplate批量添加数据,单条数据中文正常,多数据第二条数据开始中文乱码

    今天用spring的jdbcTemplate org springframework jdbc core JdbcTemplate 批量添加数据 方法是jdbcTemplate bathUpdate 然后遇到一个很神奇的问题 批量添加的数据