my batis 가 데 이 터 를 삽입 한 후 홈 키 ID 를 되 돌려 주 는 문 제 를 자세히 설명 합 니 다.

1.장면 소개:
개발 과정 에서 우 리 는 항상 많은 중간 표를 사용 하여 데이터 간 의 대응 과 관련 에 사용 합 니 다.이때 우리 가 가장 많이 관련 된 것 은 ID 입 니 다.우 리 는 한 표 에 데 이 터 를 삽입 한 후 연결 이 관련 표 에 추 가 됩 니 다.우리 가 잘 알 고 있 는 my batis 는 데 이 터 를 삽입 한 후에 성공 적 인 줄 수 를 되 돌려 줍 니 다.그러면 이 럴 때 우 리 는 해당 하 는 데 이 터 를 추가 한 ID 를 얻 고 싶 습 니 다.어 떡 하지?
2.데 이 터 를 삽입 하여 홈 키 ID 를 되 돌려 주 는 방법(1)
맵 기 에 기록 메 인 키 값 xml 맵 가 져 오기 설정:
xml 에서 useGenerated Keys 를 true 로 정의 하고 메 인 키 id 의 값 을 되 돌려 줍 니 다.keyproperty 와 keyColumn 은 각각 데이터베이스 기록 메 인 키 필드 와 자바 대상 구성원 속성 명 을 대표 합 니 다.

<!--     :      id  -->
<insert id="insert" useGeneratedKeys="true" keyProperty="id"  keyColumn="id">
		insert  into stu (name,age) values (#{name},#{age})
</insert>
인터페이스 매 핑 머 신
인터페이스 매 핑 기 에서 주 해 를 통 해@Options매개 변수 useGenerated Keys,key Property,key Column 값 을 각각 설정 합 니 다.

//       id 
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
@Insert("insert  into stu (name,age) values (#{name},#{age})")
void insert(Student stu);
새 기록 메 인 키 필드 값 가 져 오기
주의해 야 할 것 은 MyBatis 에 작업 을 추가 하면 기록 수가 메 인 키 id 를 기록 하 는 것 이 아 닙 니 다.따라서 새로 추 가 된 메 인 키 값 을 가 져 오 려 면 추가 작업 을 수행 한 후 자바 대상 의 메 인 키 속성 을 직접 읽 어야 합 니 다.

Integer rows = sqlSession.getMapper(StuMapper.class).insertOneTest(student);
System.out.println("rows = " + rows); //          
System.out.println("id = " + student.getId()); //           Java         
일괄 기록 추가 시 홈 키 ID 되 돌리 기
일괄 추가 와 각 기록 의 메 인 키 필드 값 을 되 돌려 주 려 면 xml 맵 기 에서 만 가능 하 며 인터페이스 맵 기 에 서 는 할 수 없습니다.

<!--       ,        -->
<insert id="insert" useGeneratedKeys="true" keyProperty="id">
		insert  into stu (name,age) values
		<foreach collection="list" separator="," item="t">
			(#{t.name},#{t.age})
		</foreach>
</insert>
주 키 를 기록 하 는 xml 맵 기 설정 을 대량으로 추가 하고 되 돌려 주 는 것 을 볼 수 있 습 니 다.단일 기록 을 추가 할 때 와 일치 합 니 다.다른 곳 은 foreach 요 소 를 사용 하여 대량 추가 문 구 를 만 들 었 을 뿐 입 니 다.
마 이 바 티 스 가 데 이 터 를 삽입 한 후 홈 키 ID 에 대한 자세 한 설명 을 되 돌려 주 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 마 이 바 티 스 가 데 이 터 를 삽입 한 후 홈 키 ID 에 대한 자세 한 내용 을 되 돌려 주 십시오.이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 바 랍 니 다!

좋은 웹페이지 즐겨찾기