mysql update mapper_mybatis批量update(mysql)
批量插入:
insert into testTable (id,content)
values(
#{item.id},
#{item.content},
)
Mapper文件中的写法
UPDATE test_table
SET c_a = #{item.ca},
c_b = #{item.cb}
WHERE id = #{item.id}
这样写总是报错,调试了很长时间也没找到问题原因
最后找到这里http://my.oschina.net/jsonavaj/blog/265112 找到了答案
数据库的链接必须加上但是数据库连接必须加上 allowMultiQueries=true
url="jdbc:mysql://localhost:3306/testDatabase?allowMultiQueries=true" />
http://www.cnblogs.com/modprobe/p/4683274.html
利用MyBatis对数据库进行DDL(create table,drop table等等)操作
【具体代码】
1、mapper接口文件内容如下
/*** 执行备份数据库相关表的Mapper*/
public interfaceBackupDataMapper {/*** 修改数据库的表名字
*@paramoriginalTableName
*@paramnewTableName
*@return
*/
int alterTableName(@Param("originalTableName") String originalTableName,
@Param("newTableName") String newTableName);/*** truncate指定数据库表的数据
*@paramtableName
*@return
*/
int truncateTable(@Param("tableName") String tableName);/*** 根据传入的表明,创建新的表并且将原表的数据插入到新的Occur表中
*@paramnewTableName
*@paramoriginalTableName*/
void createNewTableAndInsertData(@Param("newTableName") String newTableName,
@Param("originalTableName") String originalTableName);/*** 统计某张表中的总数据条数。
*@paramtableName
*@return指定表中的总记录条数。*/
int getRecordCount(@Param("tableName") String tableName);/*** 获得当前数据库的名字
*@return
*/String getCurDataBaseName();/*** 从指定数据库中,查询是否存在某张表
*@paramdataBaseName
*@paramtableName
*@return
*/String isTargetTableExistInDB(@Param("dataBaseName") String dataBaseName,
@Param("tableName") String tableName);
}
2、mapper.xml文件内容如下
alter table ${originalTableName} rename ${newTableName}
truncate table ${tableName}
create table ${newTableName} as select * from ${originalTableName}
select count(1) from ${tableName}
select database();
SELECT table_name FROM information_schema.tables WHERE table_schema = #{dataBaseName} and TABLE_NAME = #{tableName}
3、注意点
在传入“表名”作为参数时,一定要使用“${tableName}”的格式,而不能使用“#{tableName}”的格式。因为表名是sql语法要求的一部分,而不是参数
http://www.cnblogs.com/zjrodger/p/5567085.html
mysql update mapper_mybatis批量update(mysql)相关推荐
- 很多条update语句mysql优化_MySQL批量update语句优化
对MySQL中的表进行批量update的时候,如果每个记录用一个update语句,5000条记录的话,大概需要30秒钟.下面采用的case when方法可以把5000条update拼成一条: Upda ...
- 批量 杀掉 mysql 连接_批量杀死MySQL连接的四种方法详解
方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令.复制代码 代码如下:mysql> ...
- mysql uroot e_批量 kill mysql 连接
事故重现,并且加入一些后期想到的想法作为演义. 今天 mysql 服务器负载过高, 主库上主要是写的操作,首先看有没有锁表的,发现没有.mysql -uroot -e "show proce ...
- 批量 杀掉 mysql 连接_批量杀死MySQL连接的几种方法
方法一 通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令. mysql> select c ...
- mysql用update select批量处理数据
mysql用update select批量处理数据 接手了一个项目,在实际的使用中发现服务器的负载很高! 于是在服务器上使用 Top 命令查看CPU和内存的使用情况,发现mysql占用的CPU最高.于 ...
- mysql更新多字段sql_sql的update语句 批量更新某字段
Mysql: 1 有时候要实现字段的批量替换 update 表名 set 字段A = replace(字段A ,"png","jpg" ); 2 批量拼接字符串 ...
- mysql 批量update sql_批量更新sql |批量update sql
zencart批量更新后台邮箱地址sql zencart批量更新后台邮箱地址sql UPDATE `configuration` SET `configuration_value` = '新邮箱地址' ...
- go语言批量写入mysql, 记录不存在insert, 已存在则update
go语言批量写入mysql, 记录不存在insert, 已存在则update, 拼sql有点麻烦,但是处理速度非常快. func WrapStringInSymbol(Symbo1Start , st ...
- MySQL批量update数据(更新的数据值不同)
(一)纯mysql: UPDATE my_table SETstatus = CASE idWHEN 1 THEN 3WHEN 2 THEN 4WHEN 3 THEN 5END,title = CA ...
最新文章
- 世行向越提供贷款发展河内市公交建设
- 春季学期第十一周作业
- 明清美文四卷本(共四册)
- 如何获取电脑网站(手机网站)支付宝支付的配置信息(appid、商户私钥、支付宝公钥)
- ccmlt 2013 V2.0012
- uva146-ID码
- extra增强延迟加载
- 多线程篇三:线程同步
- 各种电子元器件介绍与电路基础作用
- 群晖DS218+部署kafka
- 携程Java后台开发三面面经
- matlab 曲线数据输出,Mathlab 如何输出曲线各数据点值?
- c语言 ascii码转成字符串,ASCII码与字符串的相互转换
- 树莓派连接笔记本显示器(转载+整合)
- C++迭代器之'反向迭代器'
- android 4.4 锁屏密码,安卓手机忘记锁屏密码怎么办?安卓手机绕过锁屏密码的几种解决方法...
- ps基础学习:邮票效果制作
- Multisim14访问主数据库失败的解决方法
- 加拿大博士后招聘|英属哥伦比亚大学—电化学方向
- 《乔布斯传》经典摘录(三)
热门文章
- java 给qq邮箱发邮件_java实现163邮箱发送邮件到qq邮箱成功案例
- linux qt5.4 gstreamer,Qt5使用GStreamer1.0
- Android stutio实现Activity数据传递和回传
- llvm安装方式_centos7 安装 bcctools 软件包
- 审批工作流系列教程 前言
- 【Linux】循序渐进学运维-服务篇-SSH秘钥认证
- python获取列表中最大N个数及其索引
- 从阿里巴巴走出的创业牛人们
- Wordpress自媒体主题:JustNews 5.7.2(113p.cn)
- c语言队列程序怎么写,[原创]非常漂亮的队列演示程序(C语言版)