ibatis映射文件的书写:
/p>
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
parameterClass="java.lang.Integer"
resultClass="user" cacheModel="userCache">
insert into t_user(name,sex) values(#name#,#sex#)
delete from t_user where id=#value#
[parameterClass="some.class.Name"] //表示输入的参数类型为Class
[resultClass="some.class.Name"] //表示输出的参数类型为Class
[parameterMap="nameOfParameterMap"] //表示输入的参数类型为Map
[resultMap="nameOfResultMap"] //表示输出的参数类型为Class
[cacheModel="nameOfCache"]
>
select * from t_user where sex = [?|#propertyName#]
order by [$simpleDynamic$]
1、对于参数定义,尽量使用parameterClass,即直接将pojo作为statement的调用参数,如果输入的参数是java.util.map,那么map中的键值将作为输入参数,普通基本类型就是直接输入。
2、对于返回结果而言,尽量也使用resultClass,直接将字段名与pojo相对应。
3、而parameterMap与resultMap实现了pojo到数据库字段的映射配置,parameterMap 使用较少,而resultMap 则大多用于嵌套查询以及存储过程的。
{call sp_getUserList()}
{call sp_doUserUpdate(#id#,#name#,#sex#)}