Mybatis 어노테이션 CRUD

£€€.T.$·2023년 8월 31일

기본 포멧

@어노테이션
컨트롤러에서 부를 이름

@Select

@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("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("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값이 동일하다는 의미이므로 해당 행이 삭제됩니다.

profile
Be {Nice} Be {Kind}

0개의 댓글