ognl表达式
对象导航图语言(Object Graph Navigation Language),简称OGNL,是应用于Java中的一个开源的表达式语言(Expression Language),它被集成在Struts2等框架中,作用是对数据进行访问,它拥有类型转换、访问对象方法、操作集合对象等功能。
通过它简单一致的表达式语法,可以 存取对象的任意属性
项目支持
Struts2
Spring Web Flow
MyBatis- SQL映射框架
Thymeleaf- 一个Java XML / XHTML / HTML5 模板引擎
FreeMarker- 一个Java模板引擎
mybatis 与 ognl
在mybatis的xml中,使用了ognl表达式
<insert id="save" parameterType="org.malaoshi.entity.User">
insert into user (id,username,password) values (#{id},#{username},#{password})
</insert>
解释:
#{id}就是ognl表达式
相当于调用 parameterType指定User类对象的 id属性
或者
相当于调用 parameterType指定User类对象的 getId()方法,即:user.getId()
注意:
User类中必须有 id 属性 或者 getId() 方法(二者有其一即可),否则报错(适合mybatis 3.5.1版本)