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λ₯Ό ν λ² νΈμΆνλ λ°©μμΌλ‘ μ½λλ₯Ό μμ νμ¬ μ¬μ©νλ€.
'πΉπππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JAVA] Javaλ‘ κ°λ¨ν λ¬λ ₯ νλ‘κ·Έλ¨ λ§λ€κΈ° (Calendar ν΄λμ€ νμ©) (0) | 2024.11.09 |
---|---|
JSP νμ΄μ§μ κΈ°λ³Έ: page λλ ν°λΈμ taglib μ μΈ λ°©λ² (0) | 2024.10.30 |
[Java] Serializable μ§λ ¬ν (1) | 2024.05.24 |
[Java] μ μ΄μ - static, final, abstract (0) | 2024.05.07 |
[Java] packageμ import (0) | 2024.05.04 |