728x90
insert, update를 실행할 때 자동생성하는 키값을 true로 설정한다.
그러면 그 키값으로 mysql에서 조회가능하다.
<mapper namespace="ProjectMapper">
<resultMap type="project" id="ProjectMap">
<id column="project_no" property="no"/>
<result column="title" property="title"/>
<result column="content" property="content"/>
<result column="start_dt" property="startDate"/>
<result column="end_dt" property="endDate"/>
<association property="owner" javaType="member">
<id column="owner_no" property="no"/>
<result column="owner_name" property="name"/>
<result column="owner_email" property="email"/>
</association>
<collection property="members" ofType="member">
<id column="member_no" property="no"/>
<result column="member_name" property="name"/>
<result column="member_email" property="email"/>
</collection>
</resultMap>
<insert id="insert" parameterType="project"
useGeneratedKeys="true" keyColumn="project_no" keyProperty="no">
insert into pms_project(title,content,start_dt,end_dt,member_no)
values(#{title},#{content},#{startDate},#{endDate},#{owner.no})
</insert>
프로젝트 :
멤버에 일반회원이랑 의사회원이랑 나눠진다.
멤버 번호가 1, 2, 3, 4, 5... 이라면 그 중에 의사회원이 3번일 수 있고 일반회원이 1, 2, 4, 5번 일 수 있다.
그래서 자동생성하게끔 useGeneratedKeys쓴다면
apus_doctor 테이블에서 의사 회원만 조회 가능하다.
<insert id="insert" parameterType="member"
useGeneratedKeys="true" keyColumn="member_no" keyProperty="no">
insert into apus_member(name,id,password,birth,tel,email,photo,sex,point,role)
values(#{name},#{id},password(#{password}),#{birthDay},#{phoneNum},#{email},
#{photo},#{sex},#{point},#{doctorOrNot})
</insert>
<insert id="insert2" parameterType="member">
insert into apus_doctor(doctor_no,major,license,homepage,introduction)
values(#{no},#{doctor.major},#{doctor.license},#{doctor.homepage},#{doctor.introduction})
</insert>
'DB' 카테고리의 다른 글
[project] sql parameterType 2개 이상 주는 방법 (0) | 2021.10.29 |
---|---|
Mybatis에서 DAO 구현체를 자동으로 생성하기 (0) | 2021.10.23 |
mybatis - Data Persistence Framework, SqlSession 사용법, SQL 문에 삽입할 파라미터 전달하기 (0) | 2021.10.21 |
DBMS에 SQL문 보내기 : select,update,delete, FK 가 참조하는 데이터 지우는 방법, insert 한 후 auto increment PK 값 리턴 받기 (0) | 2021.10.20 |
데이터 관리를 DBMS에게 맡기기 : JDBC API 사용 (0) | 2021.10.19 |