my batis 에 Date 날짜 값 을 null 로 주입 하 는 해결 방법

1844 단어 mybatisdate주입
오늘 의 코드 작성 에서 갑자기 이상 한 문제 가 발생 했 습 니 다.my batis 를 사용 하여 Date 형식 을 삽입 할 때 데이터베이스 에 순조롭게 삽입 할 수 있 습 니 다.그러나 my sql 에서 Date 형식의 값 을 꺼 내 자바 의 Date 형식 에 주입 하려 고 했 을 때 전 달 된 값 이 비어 있 는 것 을 발 견 했 습 니 다.그러나 맵 이 든 명명 규범 이 든 모두 정확 합 니 다.아주 이상해.
데이터베이스 디자인:

맵 클래스 의 디자인:

@Data
public class BorrowTime {
 //    
 private Date borrowTime;
 //    
 private Date expiredTime;
}

mapper 클래스:

 @Select("SELECT borrow_time,expired_time FROM book_user WHERE bid IN (SELECT bid FROM book_user WHERE uid =#{uid})")
 public List<BorrowTime> findBorrowTime(Integer uid);
검색 해 낸 값 은 이 렇 습 니 다.

인터넷 에서 많은 자 료 를 검색 하여 여러 가지 방법 을 시 도 했 지만 효과 가 없 었 습 니 다.갑자기 my batis 가 조회 할 때 해당 하 는 맵 property 를 자동 으로 설정 할 수 있다 는 생각 이 들 어서 mapper 에 가서 시도 해 보 았 습 니 다.

 @Select("SELECT borrow_time,expired_time FROM book_user WHERE bid IN (SELECT bid FROM book_user WHERE uid =#{uid})")
 @Results({
  @Result(column = "borrow_time",property = "borrowTime"),
  @Result(column = "expired_time",property = "expiredTime")
 })
 public List<BorrowTime> findBorrowTime(Integer uid);
모든 columns 와 Property 를 수 동 으로 대응 한 다음 에 조회 합 니 다.

마침내 원 하 는 결과 가 나 왔 기 때문에 맵 필드 의 문제 인지 다른 문제 인지 나중에 확인 해 봐 야 한다.
my batis 가 Date 날짜 값 을 null 로 주입 하 는 해결 방법 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 my batis 가 Date 날짜 값 을 null 로 주입 하 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기