my batis 에서 xml 의 trim 속성 설명
1.4.567914 접두사 추가 내용
2.4.567914.접미사 가 추 가 된 내용
3
prefix
접두사 가 덮어 야 할 내용 은 보통 첫 번 째 판단 조건 앞의 불필요 한 구조 이다.예 를 들 어 첫 번 째 판단 조건 앞 에'and'가 많아 졌 다.4
suffix
접 두 사 는 덮어 써 야 할 내용 입 니 다.보통 마지막 데이터 의 뒤에 있 는 기호 입 니 다.예 를 들 어 set 값 일 때 마지막 값 뒤에 쉼표 가 하나 더 있 습 니 다.몇 가지 예 를 들다.
1.사용자 의 이름과 연령 에 따라 사용 자 를 조회 하고 가치 가 있 으 면 그 조건 에 따른다(목적 은 몇 가지 속성 용법 을 설명 하 는 것 이 고 예 는 실제 장면 에 적용 되 지 않 을 수 있다)
select * from User where name='zhangsan' and age='20';
<select id='queryUser'>
select * from User
<trim prefix='where' prefixOverrides='and'>
<if test="name != null and name != ''">
name = #{name}
</if>
<if test="age !=null and age !=''">
and age = #{age}
</if>
</trim>
<select>
위의 예 는 매우 일반적인 쓰기 입 니 다.첫 번 째 조건 앞 에 어떠한 기호 도 없고 두 번 째 조건 은 and 를 더 해 야 합 니 다.그렇지 않 으 면 sql 문 구 는 잘못 보 고 될 것 입 니 다.이상 적 인 상 태 는 첫 번 째 와 두 번 째 모두 값 이 있 지만 판단 한 이상 설명 이 값 이 없 을 수도 있 습 니 다.첫 번 째 name 이 값 이 없 을 때 sql 문 구 는...select*from User where and age=',이 sql 구문 문법 에 문제 가 있 음 이 분명 합 니 다.여기 서 태그 속성 prefix Overrides 가 작용 합 니 다.접두사 where 가 첫 번 째 and 를 덮어 씁 니 다.덮어 쓴 다음:select*from User where age=';
접두사 에 where 를 붙 이면 말 하지 않 습 니 다.속성 prefix='where'때문에 이 where 도
이제 더 편리 한 탭 이 생 겼 습 니 다.바로
select * from User
<where>
<if test="name != null and name != ''">
name = #{name}
</if>
<if test="age !=null and age !=''">
and age = #{age}
</if>
</where>
첫 번 째 name 값 이 null 이면 age 앞의 and 는 무 시 됩 니 다.그리고 다른 두 속성,suffix 와 suffix Overrides.
예 를 들 어 사용자 의 정 보 를 업데이트 하고 값 이 있 는 필드 를 업데이트 합 니 다.sql 문 구 는 다음 과 같 습 니 다.
<update id="updateUser">
update User
<trim prefix="set" suffixOverrides="," suffix="where id='1'">
<if test="name != null and name != ''">
name=#{name},
</if>
<if test="age != null and age !=''">
age=#{age},
</if>
</trim>
</update>
이 예 에서 마지막 조건 의 쉼표","접미사 로 덮어 씁 니 다.이 예 에서 접 두 사 는 where id='1'입 니 다.OK,순 전 히 네 가지 속성 을 어떻게 사용 하 는 지 설명 하기 위해 서 입 니 다.구체 적 인 안의 값 은 구체 적 인 수요 에 따라 정 해 집 니 다.하 나 를 들 면 열 을 안다~
trim 태그 사용 장면
trim 탭 을 사용 하여 불필요 한 쉼표 를 제거 합 니 다.
빨간색 상자 안의 조건 이 일치 하지 않 으 면 sql 문 구 는 다음 과 같 습 니 다.
INSERT INTO role(role_name,) VALUES(roleName,)
삽입 에 실패 합 니 다.다음 과 같이 수정 합 니 다.
그 중에서 가장 중요 한 속성 은?
suffixOverrides=","
sql 문장의 끝 에 남 은 쉼표 를 제거 하 는 것 을 표시 합 니 다.이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Mybatis가 키 id를 삽입하는 방법을 되돌려줍니다.mapper의 xml 파일에useGeneratedKeys 구성 KeyProperty를 사용하여 Id로 돌아가면 됩니다. PS: Mybatis의 insert에서 키 ID를 반환하는 방법 1、XyzMapper.xml 또...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.