mybatis动态sql之内置参数_parameter和_databaseId
Posted 西西嘛呦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
以上是关于mybatis动态sql之内置参数_parameter和_databaseId的主要内容,如果未能解决你的问题,请参考以下文章
mybatis动态sql中的两个内置参数(_parameter和_databaseId)
Mybatis使用动态SQL时报错“Parameter ‘array‘ not found. Available parameters are [collection, list]“