Fork me on GitHub

mybatis动态sql之内置参数_parameter和_databaseId

_parameter:代表整个参数

  • 单个参数:就是这个参数
  • 多个参数:参数会被封装成一个Map
public List<Employee> getEmp(Employee employee);
<select id="" result="">
    <if test="_databaseId='mysql'">
        select * from tbl_employee
        <if test="_parameter!=null">
            where last_name=#{_parameter.lastName}
        </if>
    </if>
</select>

上面的意思是如果传入的参数不是空,则根据last_name进行查询,此时的_parameter是一个Employee对象。


 

_databaseId:如果在mybatis配置文件中配置了databaseIdProvider标签,_databaseid就代表当前数据库的别名。

<databaseIdProvider type="DB_VENDER">
    <property name="MySql" VALUE="mysql"/>
    <property name="Oracle" VALUE="oracle"/>
    <property name="SQL Server" VALUE="sqlserver"/>
</databaseIdProvider>

使用时可以这么使用:

<select id="" result="">
    <if test="_databaseId='mysql'">
        select * from tbl_employee
    </if>
    <if test="_databaseId='oracle'">
        select * from employee
    </if>
</select>
posted @ 2020-01-21 22:02  西西嘛呦  阅读(2955)  评论(0编辑  收藏  举报