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를 사용하여 키값을 가져올 수 있다.