IT'S DO
[Mybatis] useGeneratedKeys="true" , keyProperty= "keyId"
개발/JAVA 2022. 12. 1. 13:09

INSERT INTO (board_name, board_class) values (#{bookName,jdbcType=VARCHAR},#{boardClass,jdbcType=INTEGER}) ) 여기서 useGeneratedKey="true" , keyProperty="boardId" 로 하면 문서에, useGeneratedKeys라는 것이 있어요. 이것은, JDBC의 getGeneratedKeys를 이용한다는 옵션입니다. 이것은 자동 생성 키값들을 사용하기 위해서 사용된다는 것을 알 수 있어요. 저는 board_id를 PK로 잡았고, board_id가 bigserial이므로, 얘를 기준으로 탐색. 이후 url 호출로 insert를 하게 되면 board_id가 순차적으로 1씩 증가하는 것을 볼 수 있음.

[Mybatis] SqlSessionTemplate , MapperInterface
개발/Spring Framework 2022. 12. 1. 11:02

Mybatis를 사용하는 방식으로는 크게 두가지로 나뉩니다 1. SqlSessionTemplate - MyBatis3.0 이전 2. MapperInterface - Mybatis 3.0버전 [SqlSessionTemplate] SqlSessionTemplate는 Mybatis쿼리문을 수행해주는 역할을 합니다. MyBatis3.0 이전에 사용하던 방식이며 DAO클래스에 직접 SqlSession객체를선언하고 @Autowired로 의존주입하여 쿼리문을 수행 하는 방식입니다. ↓ root-context.xml에 SqlSessionFactory를 등록해야합니다. DAO 메서드 인자값으로 "key" key이름을 부여하며 쿼리문을 수행하는 xml파일의 혹은 태그의 id속성에 동일한 key이름으로 지정 으로 DAO의 ..

article thumbnail
[Mybatis] Mybatis-config.xml setting 및 사용 이유 그리고 same sample
개발/Spring Boot 2022. 12. 1. 10:11

예를 들면 Mybatis-config.xml을 안쓰면 이런 결과가 나타남. 이유는 # Dto에서 카멜케이스로 만들어서 그럼. import lombok.Data; @Data public class BoardDto { private int boardIdx; private String title; private String contents; private int hitCnt; private String creatorId; private String updaterId; } 물론 여기서 boardIdx를 -> board_idx로 바꾸면 값을 불러와짐. db에서는 주로 다음 문자에선 _바를 붙이는데, 자바 코드에서 까지 _붙여서 사용하면 비효율적임. 이럴 때 사용 하는 것이 Mybatis-config.xml이다. ..

article thumbnail
[JAVA ERROR] Invalid bound statement (not found): com.example.dmf.weather.service. & [Mybatis setting]
error 2022. 11. 30. 15:59

1. mapper.java , mapper.xml 경로 잘 잡아줌 2. mapper.xml id와 mapper.java id 잘 잡아줌. 3. result type 문제. 다 바꿔 주고 테스트 해봤으나 아님. 위와 같은게 대부분이라서 인터넷에선 저런 부분들 해결만 나옴. #다른 문제 : Invalid bound statement (not found): com.example.dmf.weather.service.WeatherService.findAll 원인. 2022.11.30 : 한마디로 말하면 해결이 안됐다. 2022-12-01 : 해결됨 public class WeatherServiceImpl implements WeatherService Service interface로 두고, serviceImpl로..