--- layout: post title: MyBatis支持的OGNL语法 category: 技术 tags: Mybatis keywords: description: 介绍Mybatis中支持的OGNL语法 --- **个人新的博客地址:** #### Mybatis支持OGNL的语法 在sql映射语句中可以支持引入以下几种方式 示例SQL ```XML ``` - 变量 `id =${id}` - 属性 `id = ${user.id}` - 静态方法(public) `id='${@cn.followtry.mybatis.bean.User@name()}'` - 静态属性(public) `id=${@cn.followtry.mybatis.bean.User@aaa}` - 数组索引 `id='${@cn.followtry.mybatis.bean.User@arr[1]}'` - 集合 `'${@cn.followtry.mybatis.bean.User@list[1]}'` - Map `id='${@cn.followtry.mybatis.bean.User@map.get("123")}'` `id='${@cn.followtry.mybatis.bean.User@map}'` - Enum `id=${@cn.followtry.mybatis.bean.CodeTypeEnum@THREE.ordinal()}` - 构造方法 `id='${new cn.followtry.mybatis.bean.User()}'` - java.lang.Math方法 `id = ${@@abs(-12345678)}` 可以省略class的编写,方法的默认class是java.lang.Math - 解析所有参数 id='${@cn.followtry.mybatis.bean.User@sayHello(_parameter)}' ,其中的参数_parameter是Mybatis内置的所有参数的标识,Map类型 `${}`语法中通过两个`@`字符,前者定位到Java类,后者定位到类中的方法或属性 这里只列出的其中一部分,对于Mybatis支持的`${}`语法,可以参见OGNL语法手册。