ibatis xml中配置信息详解
#与$区别:
1.#是把传入的数据当作字符串,如果 order by #field# ,如#field#传入的是id,则sql语句生成是这样,order by "id",这当然会报错..
2.$传入的数据直接生成在sql里,如果 order by $field$ ,如$field$
传入的是id,则sql语句生成是这样,order by id, 这就对了.
3.$方式一般用于传入数据库对象.例如传入表名.
4.#方式一般用于传入插入/更新的值或查询/删除的where条件
另附<dynamic prepend ="字符串"> 属性关键字:
属性关键字 |
含义
|
<isEqual> |
如果参数相等于值则查询条件有效。 |
<isNotEqual> |
如果参数不等于值则查询条件有效。 |
<isGreaterThan> |
如果参数大于值则查询条件有效。 |
<isGreaterEqual> |
如果参数等于值则查询条件有效。 |
<isLessEqual> |
如果参数小于值则查询条件有效。如下所示: <isLessEqual prepend = ”AND” property = ”age” compareValue = ”18” > ADOLESCENT = ‘TRUE’ </isLessEqual> |
<isPropertyAvailable> |
如果参数有使用则查询条件有效。 |
<isNotPropertyAvailable> |
如果参数没有使用则查询条件有效。 |
<isNull> |
如果参数为NULL则查询条件有效。 |
<isNotNull> |
如果参数不为NULL则查询条件有效。 |
<isEmpty> |
如果参数为空则查询条件有效。 |
<isNotEmpty> |
如果参数不为空则查询条件有效。参数的数据类型为Collection、String
<isNotEmpty prepend=”AND” property=”firstName” > FIRST_NAME=#firstName# </isNotEmpty> |
<isParameterPresent> |
如果参数类不为NULL则查询条件有效。 |
<isNotParameterPresent> |
Checks to see if the parameter object is not present (null). Example Usage: <isNotParameterPresent prepend=”AND”> EMPLOYEE_TYPE = ‘DEFAULT’ </isNotParameterPresent> |