mybatis動(dòng)態(tài)sql中的兩個(gè)內(nèi)置參數(shù)(_parameter和_databaseId)
?<!--?mybatis動(dòng)態(tài)sql的兩個(gè)內(nèi)置參數(shù)
?? ??????? 不只是方法傳遞過來的參數(shù)可以被用來判斷,取值
?? ??? mybatis默認(rèn)還有兩個(gè)內(nèi)置參數(shù)
?? ????????_parameter:代表整個(gè)參數(shù)
?? ?????????????????????????????????? 單個(gè)參數(shù):_parameter就是這個(gè)參數(shù)
?? ?????????????????????????????????? 多個(gè)參數(shù):參數(shù)會(huì)被封裝為一個(gè)map:_parameter就是代表這個(gè)map??????????? ?
?? ??????? _databaseId:如果配置了databaseIdProvider標(biāo)簽
?? ???????????? _databaseId 就是代表當(dāng)前數(shù)據(jù)庫的別名mysql或者oracle等等。
?? ?? -->
?? ? ?
?? ? ?
?? ?? <!-- List<Employee> getEmpsTestInnerParameter(Employee?employee); -->
?? ?? <select id="getEmpsTestInnerParameter" resultType="com.hand.mybatis.bean.Employee">
?? ?????? SELECT * FROM emp?
?? ?????? <if test="_parameter!=null">??????_parameter相當(dāng)于傳入的參數(shù)employee,判斷employee是否為空,若不為空則執(zhí)行where條件?
?? ??????? where ename=#{_parameter.eName}???
?? ?????? </if>
?? ?? </select>
本文摘自 :https://blog.51cto.com/u