-
Mybatis - Resultmap을 사용해서 VO 여러가지를 join쿼리 사용하여 매핑JAVA/Egov 2020. 3. 23. 16:35
AdminVO
package net.araise.practice.vo; import java.sql.Timestamp; import lombok.Data; @Data public class AdminVO { private String adminId; //관리자ID private String adminPwd;//관리자PW private String adminLv;//관리자LV private String useYn; // 사용여부 private int hsptlId; //병원코드 private String createUserId; //최초등록자 private String createIp;//최초등록IP private Timestamp createTime; //최초등록일시 private String modifyUserId; //최종수정자 private String modifyIp;//최종수정등록IP private Timestamp modifyTime; //최종수정일시 private AdminInfoVO adminInfoVO; //쿼리로 join할 vo }
AdminInfoVO
package net.araise.practice.vo; import java.sql.Timestamp; import lombok.Data; @Data public class AdminInfoVO { private String adminId; private String adminName; private String adminPhone; private String adminEmail; private int profileId; private String createUserId; //최초등록자 private Timestamp createTime; //최초등록일시 private String modifyUserId; //최종수정자 private Timestamp modifyTime; //최종수정일시 }
mapper.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="net.araise.practice.mapper.PageMapper"> <resultMap type="AdminInfoVO" id="AdminInfoVO"> <result column="ADMIN_NAME" property="adminName" /> <result column="ADMIN_PHONE" property="adminPhone" /> <result column="ADMIN_EMAIL" property="adminEmail" /> </resultMap> <resultMap type="AdminVO" id="AdminVO"> <result column="ADMIN_ID" property="adminId" /> <result column="HSPTL_ID" property="hsptlId" /> <result column="FIRST_REG_DT" property="createTime" /> <result column="ADMIN_LEVEL" property="adminLv" /> <collection property="adminInfoVO" resultMap="AdminInfoVO" /> </resultMap> <select id="adminUser" parameterType="AdminVO" resultMap="AdminVO"> SELECT a.ADMIN_ID, a.HSPTL_ID, a.FIRST_REG_DT, a.ADMIN_LEVEL, b.ADMIN_NAME, b.ADMIN_PHONE, b.ADMIN_EMAIL FROM tn_admin as a JOIN tn_admin_info as b ON b.ADMIN_ID = a.ADMIN_ID; </select> </mapper>
mapper / servcie / serviceImpl / controller은 생략
.Jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach var="admin" items="${admins}" varStatus="status"> <tr> <td>${status.count}</td> <td>${admin.adminInfoVO.adminName}</td> <td>${admin.adminId}</td> <td>${admin.hsptlId}</td> <td>${admin.adminInfoVO.adminEmail}</td> <td>${admin.adminInfoVO.adminPhone}</td> <td>${admin.createTime}</td> </tr> </c:forEach>
잘 반영된다.
'JAVA > Egov' 카테고리의 다른 글
도로명주소 검색 API 적용 해보기 (0) 2020.04.07 스프링 레거시 - 파일업로드 위한 세팅 (0) 2020.04.01 jsp파일 수정 후 서버 재시작 없이 새로고침으로 반영하기 (0) 2020.03.18