前言
近期自学了Mybatis框架,学完之后也正在着手写了一个SSM项目,在项目中使用Mybatis持久层框架时,对Mapper.XML传参数时遇到了一些小小的问题,于是在此做个笔记,加深印象。
Mybatis简介
持久层框架,是apache下的一个开源项目,使用映射方式,半自动化(需要程序员自己编写Sql语句),相比Hibernate而言学习难度小,上手快。
Mybatis传参类型
- 基本数据类型:int,String,Dete等
- 复杂数据类型:Bean实体类,map
传参属性
Mybatis中的parameterType属性
本文主要记录传入复杂型参数中的Map
传入Map(一)
Mapper.XML配置
1 | <!--parameterType传入的类型为Map,resultType返回为一个实体类--> |
Mapper接口
1 | //参数类型为Map,与Mapper.xml中的parameterType参数类型一致 |
测试类
1 | //定义Map集合 |
测试结果截图
可见已经查询出了该条数据
传入Map(二)
1 | <!--parameterType传入的类型为Map,resultType返回为一个实体类--> |
Mapper接口
1 | //参数类型为User实体类,使用@Param注解的作用是给参数命名 |
测试类
1 | //定义实体类对象 |
测试结果截图
可见已经查询出了该条数据
结言
总体来说Mybatis的使用还是比较方便的,但需要对Sql语句有一定的掌握,当然也可以使用generator逆向工程生成Mapper,不过生成的代码也需要自己能够理解能够看懂,但在看懂的前提下,还是需要懂得sql语句,万变不离其宗。