在 mybatis 的映射 xml 文件调用 java 类的方法:使用的是 OGNL 表达式,表达式格式为:

${@prefix@methodName(传递参数名称)}

因为我比较懒,每次都要手动给  createBy 赋值,想有没有一种简单的方法,百度一番,搜到了 mybatis 还可以调用 java 类的方法

调用saveDoc方法的时候,才会去调用SecurityUtils类的getUserId方法

INSERT INTO `doc`( `phone`, `create_by`, `create_time`)

VALUES ( "1541234512","${@com.xxx.common.utils.SecurityUtils@getUserId()}", now());

注意: 方法必须为静态方法

MyBatis常用OGNL表达式

e1 or e2

e1 and e2

e1 == e2,e1 eq e2

e1 != e2,e1 neq e2

e1 lt e2:小于

e1 lte e2:小于等于,其他gt(大于),gte(大于等于)

e1 in e2

e1 not in e2

e1 + e2,e1 * e2,e1/e2,e1 - e2,e1%e2

!e,not e:非,求反

e.method(args)调用对象方法

e.property对象属性值

e1[ e2 ]按索引取值,List,数组和Map

@class@method(args)调用类的静态方法

@class@field调用类的静态字段值

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐