MyBatis 대량 데이터 추가 2 가지 실현 방법
a.결합 값()
public int addPersons(@Param("persons") List<Person> persons);//
<insert id="addPersons">
insert into person(username,email,gender) VALUES
<foreach collection="persons" item="person" separator=";">
(#{person.username},#{person.email},#{person.gender})
</foreach>
</insert>
<!-- insert into person(username,email,gender) VALUES("zhangsan","[email protected]","F"),("lisi","[email protected]","F"),... -->
b.insert sql 문 구 를 연결 합 니 다(속성 allow MultiQueries=true 를 설정 해 야 합 니 다)jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?allowMultiQueries=true //속성 설정 필요
jdbc.username=root
jdbc.password=123
public int addPersons(@Param("persons") List<Person> persons);//
<insert id="addPersons">
insert into person(username,email,gender) VALUES
<foreach collection="persons" item="person" separator=",">
(#{person.username},#{person.email},#{person.gender})
</foreach>
</insert>
<!-- insert into person(username,email,gender) VALUES("tom","[email protected]","F");
insert into person(username,email,gender) VALUES("jerry","[email protected]","F");...-->
2.Session 기반 Executor Type 대량 추가먼저 기록 을 삽입 하 는 방법 을 정의 합 니 다.
public int addPerson(User user); //
<insert id="addPerson" parameterType="user">
insert into t_user(username,address) VALUES (#{username},#{address})
</insert>
자바 코드 에서 사용
public void testBatchForExecutor()
{
SqlSession sqlSession = this.getSqlSessionFactory().openSession(ExecutorType.BATCH); // session ExecutorType , jdbc addBatch
PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
for (int i = 0; i <10000 ; i++)
{
personMapper.addPerson(new User("jerry","bj"));
}
sqlSession.commit();
sqlSession.close();
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MyBatis + SpringBoot로 CRUD 앱 만들기 ※ 불필요한 것은 배 ※ 1/2MyBatis를 사용하여 ToDo 목록을 만듭니다. 할 일 등록 (블랭크를 등록 할 수 없음) 할 일보기 할 일 변경 할 일 지우기 SpringBoot의 CRUD가 가능한 책은 있지만 MyBatis를 사용한 것은 적...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.