介绍
我们可以在mybatis的xml中通过@符合的方式调用Java类获得返回值进行操作,两种方式
两种方式
1、调用类静态方法
调用类的静态方法:"@类全路径@方法名(入参)" 如 "@com.modules.api.controller.UsersController@testStatic()"
示例
xml
<select id="test" resultType="com.modules.user.entity.StUsers">
select * from st_users where id = 7000
<if test="@com.modules.api.controller.UsersController@testStatic()">
or id = 7001
</if>
</select>
被调用方法
粗体
public static boolean testStatic() {
return true;
}
日志输出sql 确实拼接了or的sql
JDBC Connection [com.mysql.jdbc.JDBC4Connection@189690a6] will not be managed by Spring
==> Preparing: select * from st_users where id = 7000 or id = 7001
==> Parameters:
2. 使用spring依赖注入的方式
例如 #{#deptName} IN ( #{@sdss.getDeptAndChild( #user.deptId )} ) 其中 @sdss 是spring容器中的bean名称 后面就是点方法传入参
示例
/**
* 数据权限 实现
*/
@Service("sdss")
public class SysDataScopeService {
public boolean testStatic() {
return true;
}
}
xml
<select id="test" resultType="com.modules.user.entity.StUsers">
select * from st_users where id = 7000
<if test="@sdss@testStatic()">
or id = 7001
</if>
</select>
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。