mybatis批量插入如何实现?有几种方式?

2020-05-06 17:16:29 java常见问答 9833

mybatis作为我们java软件开发工作中不可或缺的半ORM框架,你是否了解其一些方法的具体实现呢?例如,mybatis批量插入如何实现呢?有多少种方法实现呢?

mybatis其实是一个非常优秀的基于java的持久层框架,它的内部封装了jdbc,这就使开发者只需要关注sql语句本身了,不需要花费时间去处理加载驱动、创建连接、创建statement等等这些的过程。mybatis通过了xml或注解的方式把要执行的各种的statement配置起来,并且通过java对象和statement中sql的动态参数来进行映射生成最终执行的sql语句,最后是由mybatis框架执行sql并将其结果映射为java对象并返回。

首先是List的方式 :

package com.springmvc.pojo;
//实体:
public class Test
{
    private int id;
    private String username;
    private String password;
    public String getUsername()
    {
        return username;
    }
    public int getId()
    {
        return id;
    }
    public void setId(int id)
    {
        this.id = id;
    }
    public void setUsername(String username)
    {
        this.username = username;
    }
    public String getPassword()
    {
        return password;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }
}
Dao层以及service层如下所示:
int listsert(List list);
controller:
@RequestMapping(value = “listsert”)
public String listsert(Model model)
{
    List list = new ArrayList();
    Test test = new Test();
    test.setUsername(“张三”);
    test.setPassword(“123456”);
    list.add(test);
    Test test1 = new Test();
    test1.setUsername(“李四”);
    test1.setPassword(“1234”);
    list.add(test1);
    Test test2 = new Test();
    test2.setUsername("王五");
    test2.setPassword("123456789");
    list.add(test2);
    Test test3 = new Test();
    test3.setUsername("张柳");
    test3.setPassword("123456789123456789965495");
    list.add(test3);
    model.addAttribute("itest", "这个是我传递过过阿里的参数列表");
    int re = testService.listsert(list);
    model.addAttribute("reults", re);
    return "sueecss";
}
mapping:
insert into admin(username, password) VALUES(#
{
    test.username
}, #
{
    test.password
})

其次是数组的形式STring [] test;

Dao层以及service层:

int listinsert(String[] list);
controller:
@ResponseBody
@RequestMapping(value = “arraylisttset”)
public String arraylisttset()
{
    String[] liststring = request.getParameterValues(“datelist”);
    System.out.println(“数组数据的打印以 + ” +liststring);
    int reu = testService.listinsert(liststring);
    return“ GOOD”;
}

mapper:

<insert id="listinsert" parameterType="List" >
    INSERT  into admin (username) VALUES
    
    <foreach collection="array" item="ls"  separator="," index="index" >
        (#{ls})
    </foreach>
</insert>

那么以上就是本篇文章的所有内容了,还想了解更多java架构师的相关信息,记得关注本站消息哦。