MyBatis XML 불필요 한 AND|OR 접두사 나 쉼표 등의 접 두 사 를 제거 하 는 동작

2400 단어 MyBatisXMLANDOR
1.trim 포맷 으로 set 또는 where 기능 표시
2.set 에 대해 서 는 마지막",","where 에 대해 서 는 마지막"and|or"를 자동 으로 삭제 합 니 다.
사용 예 는 다음 과 같다.
1、

select * from user 
<trim prefix="WHERE" prefixOverride="AND |OR">
<if test="userName != null and userName.length()>0"> AND user_name=#{userName}</if>
<if test="loginName != null and loginName.length()>0"> AND login_name=#{loginName}</if>
</trim>
userName 이 비어 있 으 면 마지막 SQL 은:

select * from user where login_name = 'xx'
접두사
4.567914.첫 번 째 and 또는 or 를 제거 합 니 다.
2、

update user
<trim prefix="set" suffixOverride="," suffix=" where user_id = #{userId} ">
<if test="userName != null and userName.length()>0"> user_name=#{userName} , </if>
<if test="loginName != null and loginName.length()>0"> login_name=#{loginName} , </if>
</trim>
userName 이 비어 있 으 면 마지막 SQL 은:

update user set login_name='xx'  where user_id='xx'
prefix:마지막 쉼표 를 지 웁 니 다.(다른 태그 일 수도 있 습 니 다.위 접두사 에 있 는 and 와 같 습 니 다.)
접미사
추가:my batis 불필요 한 and 또는 or 제거
아무 말 도 안 할 테 니 코드 를 직접 보 세 요~

<select id="selectBySelective" resultType="xxx.UserInfo">
select
<include refid="Base_Column_List" />
from uc_user
<trim prefix="WHERE (" suffix=")" prefixOverrides="AND |OR ">
<if test="userName != null" >
user_name = #{userName}
</if>
<if test="email != null" >
or email = #{email}
</if>
<if test="phone != null" >
or phone = #{phone}
</if>
<if test="weiboId != null" >
or weibo_id = #{weiboId}
</if>
<if test="wxId != null" >
or wx_id = #{wxId}
</if> 
<if test="qqId != null" >
or qq_id = #{qqId}
</if>
</trim>
and status = 1
</select>
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.만약 잘못 이 있 거나 완전히 고려 하지 않 은 부분 이 있다 면 아낌없이 가르침 을 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기