@어노테이션
컨트롤러에서 부를 이름
@Select("SELECT user_id,todo_memo, TO_CHAR(todo_date, 'YYYY-MM-DD') AS todo_date FROM scheduleinfo")
@Results({
@Result(property = "user_id", column = "user_id"),
@Result(property = "todo_memo", column = "todo_memo"),
@Result(property = "todo_date", column = "todo_date")
})
@Select문에 서 쿼리문을 선언합니다.
@Result를 사용하여 자바VO의 property와 DB column을 연결시켜줍니다.
@Insert("INSERT INTO scheduleinfo(user_id, todo_memo) VALUES(#{dataVO.user_id}, #{dataVO.todo_memo}")
int insert(@Param("dataVO") DataVO dataVO);
VO를 선언하고 @Param으로 연결시켜줍니다. value에는 #{vo.값}
양식을 통해 서 value값을 찾아줍니다.
@Delete("DELETE FROM scheduleinfo WHERE user_id=#{dataVO.user_id} and DBMS_LOB.COMPARE(todo_memo, #{dataVO.todo_memo}) = 0 and todo_date=#{dataVO.todo_date}")
int delete(@Param("dataVO") DataVO dataVO);
기본적으로 @Insert문과 양식은 비슷합니다.
@Delete문 중 CLOB값은 DBMS_LOB.COMPARECLOB 열을 todo_memo의 값과 비교하는 데 사용됩니다 dataVO.todo_memo. 비교 결과가 이면 0값이 동일하다는 의미이므로 해당 행이 삭제됩니다.