MyBatis批量添加数据2种实现方法

网友投稿 781 2023-05-25

MyBatis批量添加数据2种实现方法

MyBatis批量添加数据2种实现方法

1.通过for each标签拼接sql(数量较少的时候使用)

a.拼接values()

public int addPersons(@Param("persons") List persons);//接口

insert into person(username,email,gender) VALUES

(#{person.username},#{person.email},#{person.gender})

(#{person.username},#{person.email},#{person.gender})

b.拼接insert sql语句(需设置属性allowMultiQueries=true)

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true //需设置属性

jdbc.username=root

jdbc.password=123

public int addPersons(@Param("persons") List persons);//接口

insert into person(username,email,gender) VALUES

(#{person.username},#{person.email},#{person.gender})

2.基于Session的ExecutorType进行批量添加

先定义一条插入一条记录的方法

public int addPerson(User user); //接口

insert into t_user(username,address) VALUES (#{username},#{address})

java代码中使用

public void testBatchForExecutor()

{

SqlSession sqlSession = this.getSqlSessionFactory().openSession(ExecutorType.BATCH); //通过session设置ExecutorType开启批量添加,类似jdbc的addBatch操作

PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);

for (int i = 0; i <10000 ; i++)

{

personMapper.addPerson(http://new User("jerry","bj"));

}

sqlSession.commit();

sqlSession.close();

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:过滤器 和 拦截器的 6个区别(别再傻傻分不清了)
下一篇:MyBatis基于pagehelper实现分页原理及代码实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~