比如我有一個工具類com.wts.test.DateUtil,其中有一個方法isLeapYear(int year),用於判斷某年是否閏年。而在mapper的某個select中要根據是否閏年執行不同的查詢。可以類似這樣:
<if test="@com.wts.test.DateUtil@isLeapYear(year)==true"> select * from tableA </if> <if test="@com.wts.test.DateUtil@isLeapYear(year)==false"> select * from tableB </if>
如果要使用常量的話,假設有常量類和常量Constant.CURRENT_YEAR:
<if test=year==@com.wts.test.Consant@CURRENT_YEAR> select * from tableC </if>
sql中:
使用靜態方法:
<select id='testSelectA' .....> select * from tableA where year=${@com.wts.test.DateUtil@getYear()} </select>
使用靜態常量:
<select id='testSelectB' .....> select * from tableA where year=${@com.wts.test.Constant@CURRENT_YEAR} </select>