1οΈβ£ interface
public interface UserMapper {
// Listλ‘ ν λ²μ λ£κΈ°
void insertUsersList(@Param("users") List<User> users);
// voλ‘ μ¬λ¬λ² λ£κΈ°
void insertUser(User user);
}
2οΈβ£ xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
<!-- Mapper ν λ² νΈμΆ -->
<insert id="insertUsersList">
INSERT INTO users (id, name, email)
VALUES
<foreach collection="users" item="user" separator=",">
(#{user.id}, #{user.name}, #{user.email})
</foreach>
</insert>
<!-- Mapper μ¬λ¬λ² νΈμΆ -->
<insert id="insertUser">
INSERT INTO users (id, name, email)
VALUES (#{id}, #{name}, #{email})
</insert>
</mapper>
3οΈβ£ service
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
// Mapper ν λ² νΈμΆ
public void addUsers(List<User> users) {
userMapper.insertUsersList(users);
}
// java forλ¬Έμ μ΄μ©νμ¬ Mapper μ¬λ¬ λ² νΈμΆ
public void addUsers(List<User> users) {
for (User user : users) {
userMapper.insertUser(user);
}
}
}
Mapper μ¬λ¬ λ² νΈμΆ vs. ν λ² νΈμΆνμ¬ foreach μ¬μ©
Mapper μ¬λ¬ λ² νΈμΆ
ππ» μ₯μ
- λ¨μν ꡬν
- κ°λ³ νΈλμμ μΌλ‘ μ²λ¦¬νμ¬ κ°λ³ μ€ν¨μ λν μ²λ¦¬ μ©μ΄
ππ» λ¨μ
- μ¬λ¬ λ²μ λ€νΈμν¬ νΈμΆλ‘ μΈν΄ μ±λ₯ μ ν
- μ¬λ¬ νΈλμμ μΌλ‘ μΈν λ°μ΄ν°λ² μ΄μ€ λΆν μ¦κ°
- μ½λ μ€λ³΅ μ¦κ°
Mapper ν λ² νΈμΆνμ¬ foreach μ¬μ©
ππ» μ₯μ
- ν λ²μ λ€νΈμν¬ νΈμΆλ‘ μ±λ₯ μ΅μ ν
- νλμ νΈλμμ μΌλ‘ μ²λ¦¬νμ¬ λ°μ΄ν°λ² μ΄μ€ λΆν κ°μ
- μ½λ κ°κ²°ν
ππ» λ¨μ
- νλμ νΈλμμ μμ λͺ¨λ μ²λ¦¬λ₯Ό νλ―λ‘ μΌλΆ μ€ν¨ μ μ 체 λ‘€λ°± νμ
- ꡬν 볡μ‘λ μ¦κ° κ°λ₯
μ 리
- μ¬λ¬ λ² νΈμΆνλ λ°©μμ ꡬνμ΄ λ¨μνμ§λ§ μ±λ₯κ³Ό ν¨μ¨μ±μμ μν΄λ₯Ό λ³Ό μ μλ€.
- ν λ² νΈμΆνμ¬ foreachλ₯Ό μ¬μ©νλ λ°©μμ μ΄κΈ° ꡬνμ 볡μ‘ν μ μμ§λ§, μ±λ₯κ³Ό ν¨μ¨μ±μμ λ§μ μ΄μ μ μ 곡νλ€.
→ κ·Έλμ λλ list μ½μ ν΄μΌ ν λλ, mapperλ₯Ό ν λ² νΈμΆνλ λ°©μμΌλ‘ μ½λλ₯Ό μμ νμ¬ μ¬μ©νλ€.
'π±ππππππ > ππππππ π±πππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SpringBoot] application.properties μ΄μ체μ λ³ μ€μ (0) | 2024.11.20 |
---|---|
Mavenμ΄λ? (0) | 2023.08.21 |
Spring Bootλ? / STS4 μ€μΉ (1) | 2023.05.15 |