자바 MyBatis 는 단일/foreach 전달 List 를 사용 하여 여러 개 를 삽입 하고 친 측 을 대량으로 삽입 합 니 다.

4598 단어 SpringBootMyBatisJava
자바 MyBatis 단일 삽입/foreach 전달 List 를 사용 하여 여러 개 삽입,일괄 삽입
관련 데이터 시트
  • 2. User.java
  • 3. UserMapper.xml

  • DAO(Data Access Object)데이터 액세스 인터페이스 UserDao.java 와 구현 클래스 UserDaoImpl.javaUserController.java(입구)1.관련 데이터 시트
    
    CREATE DATABASE `test` DEFAULT CHARSET utf8;
    DROP TABLE IF EXISTS `user`;
    CREATE TABLE `user` (
      `id` int(20) NOT NULL AUTO_INCREMENT,
      `name` varchar(20) DEFAULT NULL,
      `memo` varchar(2000) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
    
    

    2. User.java
    
    import java.io.Serializable;
    
    public class User implements Serializable {
        private static final long serialVersionUID = 8755803182642361875L;
    
        private Long id;
    
        private String name;
    
        private String memo;
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getMemo() {
            return memo;
        }
    
        public void setMemo(String memo) {
            this.memo = memo;
        }
    }
    
    

    3. UserMapper.xml
    
    
    
    
    
    	
    	
    		INSERT INTO
    		`user`
    		(`name`,`memo`)
    		VALUES
    		(#{name},#{memo})
    	
    
    	
    	
    		INSERT INTO
    		`user`
    		(`name`,`memo`)
    		VALUES
    		
    		(
    			#{item.name},
    			#{item.memo}
    		)
    		
    	
    
    
    
    

    4.DAO(Data Access Object)데이터 액세스 인터페이스 UserDao.java 와 구현 클래스 UserDaoImpl.java
    
    import com.test.web3.entity.User;
    import java.util.List;
    
    public interface UserDao {
        void create(final User user);
        void create(final List users);
    }
    
    import com.test.web3.entity.User;
    import com.test.web3.dao.UserDao;
    import org.apache.ibatis.session.SqlSession;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Repository;
    import java.util.List;
    
    @Repository
    public class UserDaoImpl implements UserDao {
        @Autowired
        private SqlSession sqlSession;
    
        static final String MAPPER = "com.test.web3.UserMapper.";
    
        @Override
        public void create(final User user) {
            sqlSession.insert(MAPPER + "create", user);
        }
    
        @Override
        public void create(final List users) {
            sqlSession.insert(MAPPER + "create2", users);
        }
    
    }
    
    

    5.UserController.java(입구)
    
    import com.test.web3.dao.OrderDao;
    import com.test.web3.dao.UserDao;
    import com.test.web3.entity.Order;
    import com.test.web3.entity.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.*;
    import java.util.*;
    
    @Controller
    public class UserController {
        @Autowired
        private UserDao userDao;
    
        @RequestMapping(value = "/createUser1", method = RequestMethod.GET)
        public @ResponseBody Map createUser1() {
            /**
             *       
             * */
            final User user = new User();
            user.setName("    1");
            user.setMemo("1      ");
            userDao.create(user);
            System.out.println("       : " + user.getId());
    
            Map result = new HashMap<>();
            result.put("message", "    !");
            return result;
        }
    
        @RequestMapping(value = "/createUser2", method = RequestMethod.GET)
        public @ResponseBody Map createUser2() {
            /**
             *       
             * */
            final List users = new ArrayList<>();
    
            final User user2 = new User();
            user2.setName("    2");
            user2.setMemo("2      ");
            users.add(user2);
    
            final User user3 = new User();
            user3.setName("    3");
            user3.setMemo("3      ");
            users.add(user3);
    
            userDao.create(users);
    
            Map result = new HashMap<>();
            result.put("message", "    !");
            return result;
        }
        
    }
    
    

    도움 이 된다 면 좋아요~감사합니다!!

    좋은 웹페이지 즐겨찾기