MyBatis中使用OGNL表达式与操作符

String与基本数据类型    _parameter

自定义类型(对象)     属性名

集合

  数组          array

  List          list

  Map          _parameter

获取集合中的一条数据

  数组          array[索引]      基本数据类型数组

              array[索引].属性名    对象数据类型数组            

  List          list[索引]

              list[索引].属性名

  Map          _parameter.key

              _parameter.key.属性名

利用foreach标签从集合中取出数据(遍历拼接SQL)

  <foreach collection="array" index="i" item="item" separator=",">

  </foreach>

  如果collection中的数组或List,i表示下标,如果collection是Map,i表示key。item(或item.属性名)表示迭代出来的值

  separator 表示 迭代出来的元素之间的分隔符

  举例

  <delete id="deleteBatch" parameterType="java.util.List">
      delete from MESSAGE where ID in(
          <foreach collection="list" item="item" separator=",">
              #{item}
          </foreach>
      )
  </delete>


操作符

  java常用操作符    +、-、*、/、==、!=、||、&&等

  特有操作符      and、or、mod、in、not in

时间: 2024-12-20 15:52:45

MyBatis中使用OGNL表达式与操作符的相关文章

MyBatis中的OGNL教程

MyBatis中的OGNL教程 有些人可能不知道MyBatis中使用了OGNL,有些人知道用到了OGNL却不知道在MyBatis中如何使用,本文就是讲如何在MyBatis中使用OGNL. 如果我们搜索OGNL相关的内容,通常的结果都是和Struts有关的,你肯定搜不到和MyBatis有关的,虽然和Struts中的用法类似但是换种方式理解起来就有难度. MyBatis常用OGNL表达式 e1 or e2 e1 and e2 e1 == e2,e1 eq e2 e1 != e2,e1 neq e2

(补充)9.Struts2中的OGNL表达式

OGNL表达式概述 1. OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写 * 所谓对象图,即以任意一个对象为根,通过OGNL可以访问与这个对象关联的其它对象 * 通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能.它使用相同的表达式去存取对象的属性 2. Struts2框架使用OGNL作为默认的表达式语言 * OGNL是一种比EL强大很多倍的语言 * xwork提供 OGNL表达

Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法

1.上一篇文章,我介绍了OGNL表达式语言,本来想在那篇文章上加上一个使用OGNL访问静态方法和静态属性的例子,但是昨天晚上我写代码时,报了一个警告,获取得到静态属性的值,却获取不到静态方法的返回值,所以今天特别的写篇文章来介绍一下. 2.这里我先附上这个例子,来了解如何使用OGNL表达式访问静态方法和属性. (1).其中访问静态方法或者静态属性的语法分别为:@类的路径@方法名,@类的路径@属性名,语法中类的路径,即包名+类名. (2).对于OGNL来说,java.lang.Math是其默认的类

MyBatis中的OGNL expression

当在项目运行的时候,出现这种异常,你就要去检查你的sql语句了. 比如以下:就会出现这种错误. 还有就是这种,assignTime是一个DATETIME类型的,这里却写( assignTIme != '' )这样也会出现以上错误.还有Integer也是一样的.

深入分析JavaWeb 48 -- Struts2中OGNL表达式与ValueStack

一.OGNL表达式 1.OGNL表达式介绍 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 | 值名],例如:@[email protected]('foo %s', '

struts2 与 OGNL 表达式,jsp中 利用ognl 在valuestack中取值

在Struts2中,一个请求在最终到达Action的方法之前,Action对象本身会被压入ValueStack(实际上就是放到ValueStack的CompoundRoot中),所以Action对象是CompoundRoot中的一个元素.看下面的代码: public class UserAction { private String username; private Integer age; private boolean valid; //查看用户的详细信息 public String de

关于Struts2中的值栈与OGNL表达式

1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 |  值名],例如: @[email prot

#、%和$符号在OGNL表达式中的作用

#.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里笔者简单介绍它们的相应用途. 1.#符号的用途一般有三种.   1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于ActionContext. getContext():#session.msg表达式相当于ActionContext.getContext().getSession(). getA

Struts中的OGNL和EL表达式笔记

Struts中的OGNL和EL表达式笔记 OGNL(Object-Graph Navigation Language),可以方便的操作对象属性的表达式语言. 1.#符号的用途 一般有三种方式: 1.1.访问非根对象属性,如类似于#session.msg表达式,由于Struts2的值栈被当做根对象, 所以访问其他非根对象时,需要加#符号. #符号相当于ActionContext.getContext( ): #session.msg表达式相当于ActionContext.getContext().