● ResultType
: resultType은 퀴리 결과가 맵핑될 Java의 객체 타입을 지정한다.
예 ) resultType="java.util.Map" 으로 설정하면, 쿼리 결과가 Map 형태로 반환된다.
이때 데이터베이스 컬럼 이름이 Map의 키가 되고, 각 키의 값이 맵핑된 행의 값이 된다.
- lowerMap
: resultType="lowerMap"은 일반적으로 사용자 정의 타입으로 정의된 타입 핸들러를 통해 제공되는 기능이다.
LowerMap의 경우, 반환된 Map의 모든 키가 자동으로 소문자로 변환되도록 설정된다.
마이바티스 select 쿼리문 예시
<mapper namespace="UserInfoSQL">
<select id="selectUserInfoList" parametertype="java.util.HashMap" resultType="lowerMap">
SELECT A.USER_ID AS USER_ID
, A.USER_NM AS USER_NM
, A.DEPT_CD AS DEPT_CD
, B.DEPT_NM AS DEPT_NM
, A.USER_EM AS USER_DM
, A.USER_PH AS USER_PH
, A.REG_DATE AS REG_DATE
, A.MODI_DAYE AS MODI_DATE
FROM T_OPRA_USER_INFO01M1 A
, T_OPRA_DEPT_INFO01M1 B
WHERE A.DEPT_CD = B.DEPT_CD
ORDER BY A.REG_DATE
</select>
</mapper>
※ select는 반환값이 list, map 형식, 나머지 insert, update, delete는 반환형식이 int 혹은 boolean 타입
- SELECT : 결과 집합 (ResultSet)을 반환
- INSERT : 삽입된 행의 수를 반환
- UPDATE : 수정된 행의 수를 반환
- DELETE : 삭제된 행의 수를 반환
< 리스트 형식으로 반환 >
- 리스트(List) 형식으로 반환 예시
List<User> users = new ArrayList<>();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
users.add(user);
}
- 마이바티스(MyBatis)에서의 반환 예시
<select id="selectAllUsers" resultType="User">
SELECT id, name, age FROM users
</select>
< 맵 형식으로 반환 >
- 맵(Map) 형식으로 반환 예시
List<Map<String, Object>> resultList = new ArrayList<>();
while (resultSet.next()) {
Map<String, Object> rowMap = new HashMap<>();
rowMap.put("id", resultSet.getInt("id"));
rowMap.put("name", resultSet.getString("name"));
rowMap.put("age", resultSet.getInt("age"));
resultList.add(rowMap);
}
- 마이바티스(MyBatis)에서의 반환 예시
<select id="selectAllUsers" resultType="map">
SELECT id, name, age FROM users
</select>
'기타 개념 > question' 카테고리의 다른 글
ModelAndView (0) | 2024.05.26 |
---|