ssm 批量插入案例(MySQL)
用ssm框架批量插入记录的简单案例,批量插入用的不是很多,但是用的过程中问题较多
数据库为mysql,数据库设计为主键自增长,
很少写博客,有不足之处还请留言,绝对对你有帮助,请给个赞吧!
POLO中注意添加不含id的构造方法
public BatchTest_student(String name, String address, Integer age, char sex, Date createDate) {
super();
//this.id = id;
this.name = name;
this.address = address;
this.age = age;
this.sex = sex;
this.createDate = createDate;
}
在controller中是对数据处理是重点
List<BatchTest_student> list = new ArrayList<BatchTest_student>();
for (int i = 0; i <5; i++) {
student = new BatchTest_student(
(request.getParameter("name")+i),
request.getParameter("address"),
(Integer.valueOf(request.getParameter("age"))+i),
(i%2==0?'男':'女'),
(new Date())
);
list.add(student);
}
在service跟dao层比较简单,这里就忽略了,
然后就是在mybaties的xml中插入语句了,这个不是很常见,但是在网上找了很多,能用的就这个了
<insert id="batchTestSave" parameterType="java.util.List">
INSERT INTO t_batch_test (name,age,address,sex,create_time)VALUES
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.name,jdbcType=VARCHAR},
#{item.age,jdbcType=INTEGER},
#{item.address,jdbcType=VARCHAR},
#{item.sex,jdbcType=CHAR},
#{item.createDate,jdbcType=TIMESTAMP}
)
</foreach>
</insert>
注意item后面的属性是跟实体类中的对应的,
第二次写博客,大牛如果有更好的解决办法请留言分享下