개요

useGeneratedKeys

<insert id="insertEx" useGeneratedKeys="true" keyColumn="USERID" keyProperty="userId"> 
	insert into STUDENT (
		   NAME
		 , EMAIL 
  ) values (
		   #{name}
	   , #{email} 
	) 
</insert>
public Student {
	  int userId;
	  String name;
	  String email;
}

selectKey

<insert id="insertStudent">
	<selectKey keyProperty="userId" resultType="String" order="AFTER">
		select last_insert_id() // 마지막 생성된 Auto_Increment 값을 반환 해주는 구문
	</selectKey> 
	insert into STUDENT (
		   NAME
		 , EMAIL 
  ) values (
		   #{name}
	   , #{email} 
	) 
</insert>
public Student {
	  int userId;
	  String name;
	  String email;
}

Service

public void studentInsert(Student student) {
		System.out.println("userId : " + student.getUserId()); // userId : null
	  DAO.insertStudent(student);
		System.out.println("userId : " + student.getUserId()); // userId : 1
}