Mybatis 3+Mysql 实现批量插入
2016-08-28 10:19
246 查看
终于实现了ibatis的批量插入,此方法插入3000条数据,比单条插入可以节省一半的时间
XML代码:
<insert id="insertBatch" parameterType="ArrayList">
insert intouser(id,account,password,active,status,name,gender,active_date,expiry_date,type,remark,group_id,disable,exam_number,mobile)
values
<foreach collection="list"item="obj" index="index"separator="," >
(#{obj.id},#{obj.account},#{obj.password},#{obj.active},#{obj.status},#{obj.name},#{obj.gender},#{obj.active_date},
#{obj.expiry_date},#{obj.type},#{obj.remark},#{obj.group_id},#{obj.disable},#{obj.exam_number},#{obj.mobile})
</foreach>
</insert>
在java中只需要传递list过来就可以了。
我是这样写的:
private ArrayList<Map<String, String>>userList = new ArrayList<Map<String,String>>();
Map<String,String>userMap= new HashMap<String,String>();
userMap.put("id", userId);
userMap.put("account", arr[0]);
userMap.put("password", pas);
userMap.put("active", String.valueOf(1));
userMap.put("status", String.valueOf(1));
userMap.put("name", arr[1]);
userMap.put("gender", String.valueOf(gender));
userMap.put("active_date", active_date);
userMap.put("expiry_date", expiry_date);
userMap.put("type", String.valueOf(3));
userMap.put("remark", null);
userMap.put("group_id", String.valueOf(1));
userMap.put("disable", String.valueOf(0));
userMap.put("Exam_number", arr[15]);
userMap.put("phoneNumber", arr[14]);
userList.add(userMap);
通过循环将数据加入到list,最后将list传递。
XML代码:
<insert id="insertBatch" parameterType="ArrayList">
insert intouser(id,account,password,active,status,name,gender,active_date,expiry_date,type,remark,group_id,disable,exam_number,mobile)
values
<foreach collection="list"item="obj" index="index"separator="," >
(#{obj.id},#{obj.account},#{obj.password},#{obj.active},#{obj.status},#{obj.name},#{obj.gender},#{obj.active_date},
#{obj.expiry_date},#{obj.type},#{obj.remark},#{obj.group_id},#{obj.disable},#{obj.exam_number},#{obj.mobile})
</foreach>
</insert>
在java中只需要传递list过来就可以了。
我是这样写的:
private ArrayList<Map<String, String>>userList = new ArrayList<Map<String,String>>();
Map<String,String>userMap= new HashMap<String,String>();
userMap.put("id", userId);
userMap.put("account", arr[0]);
userMap.put("password", pas);
userMap.put("active", String.valueOf(1));
userMap.put("status", String.valueOf(1));
userMap.put("name", arr[1]);
userMap.put("gender", String.valueOf(gender));
userMap.put("active_date", active_date);
userMap.put("expiry_date", expiry_date);
userMap.put("type", String.valueOf(3));
userMap.put("remark", null);
userMap.put("group_id", String.valueOf(1));
userMap.put("disable", String.valueOf(0));
userMap.put("Exam_number", arr[15]);
userMap.put("phoneNumber", arr[14]);
userList.add(userMap);
通过循环将数据加入到list,最后将list传递。
相关文章推荐
- mybatis+mysql 实现批量插入、创建联合索引
- Mybatis 3+Mysql 实现批量插入
- java(功能篇) java(mysql)数据库 实现数据批量插入
- php+mysqli实现批量执行插入、更新及删除数据的方法
- MyBatis Mysql 批量插入
- mybatis针对oracle和mysql高效率批量插入的解决方案
- SpringMVC + Mybatis +JSON + mysql 进行批量插入的实例操作
- Mybatis实现批量插入和更新(Mybatis3.2源码修改)
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- Java实现Mybatis将数据批量插入到Oracle数据库
- mybatis--mysql 批量插入批量更新在一条sql语句中完成
- MyBatis中的批量插入、删除数据库数据(MySql和Oracle)
- Mybatis中实现oracle的批量插入、更新
- MySQL实现批量插入以优化性能的教程
- oracle+mybatis 使用动态Sql当插入字段不确定的情况下实现批量insert
- MySQL存储过程实现批量插入数据
- mysql + SpringMVC + MyBatis中批量插入实例以及@Param注解的用法
- 使用mybatis 实现批量插入,主键自增长
- Mybatis通过注解方式实现批量插入数据库
- mybatis如何实现批量更新和插入新增实例详解(附SQL以及mapper配置)