JdbcTemplate的基本配置参考我的上一篇文章:JdbcTemplate的基本使用-新增
批量增加可以使用 jdbcTemplate.batchUpdate() 方法,示例如下:
UserServiceImpl 增加批量增加方法:
package service;
import dao.UserDao;
import entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserDao userDao;
@Override
public void addBath(List<Object[]> userList) {
userDao.addBath(userList);
}
}
UserDaoImpl 增加批量增加方法:
package dao;
import entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.Arrays;
import java.util.List;
@Repository
public class UserDaoImpl implements UserDao {
//注入JdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void addBath(List<Object[]> userList) {
String sql = "insert into user values(?, ?, ?)";
int[] ints = jdbcTemplate.batchUpdate(sql, userList); //batchUpdate方法第二个参数是集合,该集合元素是数组,数组里面的每个值对应着添加到数据库表里面的字段值。该方法返回影响行数数组
System.out.println(Arrays.toString(ints));
}
}
编写调用方法
package test;
import entity.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.UserService;
import service.UserServiceImpl;
import java.util.ArrayList;
import java.util.List;
public class TestMain {
ApplicationContext ioc = new ClassPathXmlApplicationContext("bean01.xml");
@Test
public void test2() {
List<Object[]> userList = new ArrayList<>();
Object[] arr1 = {1, "name1", "password1"};
Object[] arr2 = {2, "name2", "password2"};
Object[] arr3 = {3, "name3", "password3"};
userList.add(arr1);
userList.add(arr2);
userList.add(arr3);
UserService userService = ioc.getBean(UserServiceImpl.class);
userService.addBath(userList);
}
}