一、历史回顾
(一)、历史回顾
1、对象传值

二、入参为HashMap和Mybatis调用存储过程
(一)、入参为HashMap
1、parameterType的值为“HashMap”,将上例的“person”改成“HashMap”即可,别的不发生变动。
输入对象为HashMap:parameterType="HashMap"
用Map中key的值匹配占位符#{key}。例:map.put("aaa", 111);那么在xxxMapper.xml中的占位符就是#{aaa}。如果匹配成功就用map的value替换占位符。
例:
xxxMapper.xml配置:

xxxMapper接口:

测试类:

(二)、Mybatis调用存储过程
1、创建存储过程:


请注意这里的问题,解决方式请参考:(如果是MySQL数据库)
http://blog.itpub.net/29254281/viewspace-2135539/
2、xxxMapper.xml配置:

其中,通过statementType="CALLABLE"设置SQL的执行方式是存储过程,存储过程的输入参数age需要通过HashMap来指定。在使用时,通过HashMap的put方法传入输入参数的值;通过HashMap的get方法获取输出参数的值。

Mybatis的javaType和jdbcType的对应关系:

例:
1、根据人的年龄查询人数(输入:年龄; 输出:人数)
xxxMapper.xml配置:

xxxMapper接口:

测试类:

2、根据人的id删除人(这里记得提交事务)
xxxMapper.xml配置:

xxxMapper接口:

测试类:

网友评论