首页 > 编程知识 正文

ognl表达式和el表达式,property sqlsessionfactory or

时间:2023-05-04 14:06:16 阅读:177222 作者:3946

概念OGNL是Object-Graph Navigation Language的缩写,通过简单一致的表达式语法访问对象的任意属性、调用对象的方法、遍历整个对象的结构图、字段类型使用相同的表达式访问对象的属性。 这样可以更好地获取数据。

用法Ognl表达式的用法与EL表达式的用法类似。 作者在这里把它们作为比较简单地进行说明。

EL表达式:

JSP中使用的表达式; 写法: ${属性名称}; 变量的处理采用字符串拼接方式; 示例: select * fromauthorwhereid=$ { value }

读取基本数据类型的值时,{}只能写value,不能写其他值;Ognl表达式:

是可以访问对象的任何属性的强类型表达式。 写法: #{属性名称};

变量的处理采用预编译方式;

示例: select * from author where id=#{id}

读取基本数据类型的值时,{}为任意变量名;

作者在这里简单地表了它们的区别。 如下。

. EL表达式处理Ognl表达式变量字符串缝合预编译基本数据类型${value}#{任意变量名}对象类型${属性名称}#{属性名称}.${对象属性.属性}#{对象属性

需要注意的是:

- EL表达式:字符串连接,如果接收的内容不做任何修饰就直接连接到SQL,可能会引起SQL注入;

- Ognl表达式:预编译,读取表达式的值,并以预声明方式执行SQL语句

在实际应用中,需要注意用对象取值的方法取数据,写法中省略了get。

例如,获取用户的名称

类中的写法: user.gerUsername (;

OGNL表达式的格式: user.username

在mybaits上为什么能直接写username,#{username}?

因为parameterType已经提供了属性所属的类。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。