목록Java (2)
Dong Log
여러 용도로 데이터베이스(이하 DB)에 데이터를 insert 한 후, auto_increment 된 키 값을 바로 알고 싶은 경우가 있습니다. 다음 예제는 mybatis 라이브러리로 DB의 User테이블에 'NO' 라는 auto_increment 의 key 칼럼이 있을때 작성법 입니다. // spring framework 기준 // Vo 작성 public class UserVo { Long no; String userId; //... getter setter } @Service public class UserService { @Autwired private UserRepo userRepo; UserVo user = new UserVo(); // String no; String user.setUserId(..
비즈니스 로직에서 기존에 존재하는 데이터를 확인한 후에 insert 쿼리를 수행하면서 이 과정을 한 쿼리에서 진행할 수 없을까? 해서 찾아봤는데 아래와 같이 처리할 수 있었다. INSERT INTO TEST_TBL(name) SELECT 'test' FROM DUAL WHERE NOT EXISTS (SELECT name FROM TEST_TBL WHERE name='test'); 기존에 존재하는 데이터를 확인 후에 insert 쿼리를 수행한다면 비즈니스 로직과 두번의 쿼리를 수행하여 효율적이지 못하다. 따라서 이같이 쿼리도 줄이고 비즈니스 로직을 줄일수 있는 효과를 얻을 수 있다. 마지막으로 생소한 부분을 집고 넘어가자 - NOT EXISTS 예약어 : 서브쿼리에만 사용할수 있는 예약어로 단순값에 사용할..