當(dāng)前位置:首頁 > IT技術(shù) > 數(shù)據(jù)庫 > 正文

mybatis動(dòng)態(tài)sql中的兩個(gè)內(nèi)置參數(shù)(_parameter和_databaseId)
2021-10-11 14:56:22

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

開通會(huì)員,享受整站包年服務(wù)立即開通 >