Mybatis trim用法

話不多說,直接上代碼:

 

<select id="car_queryModel" parameterType="com.xxx.meeting.model.CarVO" resultType="java.util.Map">
	SELECT 
	t1.NAME name, 
	t1.CARNUMBER carnumber, 
	t1.PRICE price, 
	t1.MODEL model 
	FROM 
	T_PM_CAR t1 
	left join COMMON_OPINION t2 ON t2.ID = t1.ID 
	left join TEST_PERSON t3 ON t3.ID = t1.ID 
	left join T_PM_USER t4 ON t4.NAME = t1.ID 
  <trim prefix="WHERE" prefixOverrides="AND|OR"> 
	<if test = "firstNodeIds != null and firstNodeIds.size > 0 "> 
	   t1.FLOW_STATE IN 
	 <foreach item="item" index="index" collection="firstNodeIds" open="(" separator="," close=")"> 
	   #{item} 
	 </foreach> 
 
	</if> 
	<if test = "name != null and name != '' "> 
	 and  t1.NAME = #{name}  
	</if> 
	 and  t1.birthday > to_date('2014-10-02 00:00:00','yyyy-MM-dd HH24:mi:ss')  
  </trim> 
	ORDER BY 
	t1.NAME desc 
	NULLS LAST 

</select> 	

這裏使用了


 

<trim prefix="WHERE" prefixOverrides="AND|OR"> 
...
</trim> 

它的意思就是: 當WHERE後緊隨AND或則OR的時候,就去除AND或者OR。

這裏是通用的處理很多地方都可以直接用。
 

發佈了93 篇原創文章 · 獲贊 133 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章