[Mybatis] Insert/Update 후 id 값 얻기
SQL을 통해 Insert 나 Update를 하고 바로 해당 컬럼의 id값을 활용 하고 싶을 떄가 있다.
SELECT * FROM table ORDER BY id DESC LIMIT 1
을 사용하여 가장 최신의 컬럼을 가져오는 것 대신 간단하게 사용 할 수 있다.
<insert id="insertDocs" parameterType="vo.SupplyDocsVO" useGeneratedKeys="true" keyProperty="id">
INSERT INTO supplyDocs(title, content, writer) VALUES (#{title}, #{content}, #{writer})
</insert>
→ useGeneratedKeys
: 자동 생성된 키값 사용여부
→ keyProperty
: 자동 생성된 키값을 넣을 VO의 필드명
@Controller
@RequestMapping("/supply")
public class SupplyController {
@Autowired
SupplyMapper supplyMapper;
@PostMapping("/docs/write")
public String docsWrite(SupplyDocsVO docs) throws IOException {
supplyMapper.insertDocs(docs);
int docsId = docs.getId();
}
}
→ 해당 객체 docs
의 keyProperty로 설정한 필드의 getter를 사용하여 키값을 가져올 수 있다.