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架构师的相关信息,记得关注本站消息哦。