DB/MYBATIS
Mybatis에서 null값 허용하기
기능 구현을 하다보면 , mybatis에서 insert나 update시 , 컬럼에 null값이 들어가게 해야 할 때도 있는데, 이때 그냥 쿼리문을 작성하면 NullPointException 에러가 뜬다. insert 문의 values 에 #{property , jdbcType=int } #{property , jdbcType=varchar2} 이런식으로 , 파라미터 뒤에 해당 컬럼의 데이터타입을 선언해준다 ! 대소문자 구분 주의 그럼 insert시 null값이 들어간다.
select key의 사용 ex)게시판 첨부파일 작성
DB작업을 하다보면 먼저 사전에 어떤 키값을 가져와서 증가시켜서 입력하거나 혹은 입력후에 증가된 키값을 가져올 필요가 있다. 이럴때 mybatis에서 제공하는 selectKey를 이용하면 별도의 쿼리로직을 등록할 필요없이 해당 메소드에서 일괄처리할 수가 있다. 입력하기전에 특정키값을 가져온 다음 그 값을 이용해서 처리하고 싶다. 게시판 테이블인 MP_BOARD에 기본키인 bno가 1씩 증가하는 시퀸스이다. (MP_BOARD_SEQ.NEXTVAL는 기본키 최대값에서 +1) //게시글 작성 SELECT MP_BOARD_SEQ.NEXTVAL FROM DUAL INSERT INTO MP_BOARD( BNO , TITLE , CONTENT , WRITER ) VALUES( #{bno} , #{title} , #{..
MYBATIS에서 include문 사용법
SELECT BNO, TITLE, CONTENT, WRITER, REGDATE FROM ( SELECT BNO, TITLE, CONTENT, WRITER, REGDATE, ROW_NUMBER() OVER(ORDER BY BNO DESC) AS RNUM FROM MP_BOARD WHERE 1=1 ) MP WHERE RNUM BETWEEN #{rowStart} AND #{rowEnd} ORDER BY BNO DESC SELECT COUNT(BNO) FROM MP_BOARD WHERE 1=1 AND BNO > 0 AND TITLE LIKE '%' || #{keyword} || '%' AND CONTENT LIKE '%' || #{keyword} || '%' AND WRITER LIKE '%' || #{keyw..
[MYBATIS]selectList와 selectOne
스프링에서 게시판 목록구현과 게시판의 제목을 누르면 내용을 볼 수 있는 상세보기 기능을 구현하는데에 사용하는 selectList와 selectOne, List selectList(query_id) id에 대한 select문을 실행한 후 레코드를 List로 반환한다. List selectList(query_id, '조건') id에 대한 select문을 실행하면서 조건(쿼리문에서 사용할 인자)를 전달한다. selectOne(query_id) id에 대한 select문을 실행한 후 한개의 레코드를 지정한 타입으로 반환한다. selectOne(query_id, '조건') id에 대한 select문을 실행하면서 조건(쿼리문에서 사용할 인자)를 전달한다. selectOne 예제 (게시판 상세보기) boardMapp..