美文网首页
06|第六课:入参为HashMap和Mybatis调用存储过程

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

作者: 木头amo | 来源:发表于2019-02-22 10:26 被阅读13次

一、历史回顾

(一)、历史回顾

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接口:

接口

测试类:

测试类

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/bcekyqtx.html