码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis之foreach批量插入

时间:2018-01-22 22:55:55      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:XML   bool   span   之间   stat   upd   conf   全局配置   插入   

1接口

public boolean insertMembersBatch(@Param("memberList") List<Members> members);

@param参数别名

2.xml文件

    <insert id="insertMembersBatch">
        insert into members (member_name,pass_word,age) values 
        <foreach collection="memberList" item="member" separator=",">
            (#{member.member_name},#{member.pass_word},#{member.age})
        </foreach>
    </insert>

collection:参数别名

item:每个元素的名字

separator:元素之间的分割符号

3.测试

    public static void main(String[] args) throws IOException {
        SqlSession session = getSqlSession();
        try {
            // 面向接口方式
            MemberMapperDynamicSQL mapper = session.getMapper(MemberMapperDynamicSQL.class);
            Members member1 = new Members(null, "老张", "123456", "25");
            Members member2 = new Members(null, "老郑", "123456", "25");
            Members member3 = new Members(null, "老李", "123456", "25");
            List<Members> list = new ArrayList<Members>();
            list.add(member1);
            list.add(member2);
            list.add(member3);
            mapper.insertMembersBatch(list);
            session.commit();
        } finally {
            // 关闭session
            session.close();
        }
    }

    public static SqlSession getSqlSession() throws IOException {
        // 读取全局配置文件
        String resource = "conf/mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        // 获取sqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 打开session
        SqlSession session = sqlSessionFactory.openSession();
        return session;
    }

4.测试结果

==>  Preparing: insert into members (member_name,pass_word,age) values (?,?,?) , (?,?,?) , (?,?,?) 
==> Parameters: 老张(String), 123456(String), 25(String), 老郑(String), 123456(String), 25(String), 老李(String), 123456(String), 25(String)
<==    Updates: 3

 

Mybatis之foreach批量插入

标签:XML   bool   span   之间   stat   upd   conf   全局配置   插入   

原文地址:https://www.cnblogs.com/zhangjianbing/p/8331297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!