MyBatis内置参数

MyBatis拥有两个内置参数,工作时常用。

_parameter参数

代表整个传过来的参数:单个参数:_parameter就是这个参数;多个参数:参数会被封装为一个map;_parameter就是代表这个map

1
2
3
4
5
6
7
8
<!-- public List<Employee> getEmpsTestInnerParameter(Student student);  -->
<select id="getStuTestInnerParameter" resultType="entity.Student">
select * from user
<!-- 判断传过来的student参数是否为空 -->
<if test="_parameter!=null">
where name like #{name}
</if>
</select>

_databaseId参数

如果配置了databaseIdProvider标签,_databaseId就是代表当前数据库的别名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!--  public List<Employee> getEmpsTestInnerParameter(Student student);  -->
<select id="getStuTestInnerParameter" resultType="entity.Student">
<!-- 判断数据库,这里配置了databaseIdProvider -->
<if test="_databaseId=='mysql'">
select * from user
<if test="_parameter!=null">
where name like #{name}
</if>
</if>
<if test="_databaseId=='oracle'">
select * from student
<if test="_parameter!=null">
where name like #{_parameter.name}
</if>
</if>
</select>
原创技术分享,您的支持将鼓励我继续创作
0%