06|第六课:入参为HashMap和Mybatis调用存储过程

一、历史回顾

(一)、历史回顾

1、对象传值

parameterType的传值是对象

二、入参为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配置:

配置查询存储过程<select>

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

配置删除存储过程<delete>

Mybatis的javaType和jdbcType的对应关系:

Mybatis的javaType和jdbcType的对应关系

例:

1、根据人的年龄查询人数(输入:年龄; 输出:人数)

xxxMapper.xml配置:

配置

xxxMapper接口:

接口

测试类:

测试类

2、根据人的id删除人(这里记得提交事务)

xxxMapper.xml配置:

配置删除数据的存储过程

xxxMapper接口:

接口

测试类:

测试类
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容