输入映射
本节中的配置文件位置Config/mapper/UserMapper.xml
简单类型
参考入门程序中的findUserById的映射文件。位置config/user.xml
Pojo类型
参考入门程序insertUser。
包装pojo类型
需求
综合查询时,可能会根据用户信息、商品信息、订单信息等作为条件进行查询,用户信息中的查询条件由:用户的名称和性别进行查询
创建包装pojo
加上getter和setter
映射文件
mapper接口
测试代码
Map
和传递pojo类型一样,map的key相当于pojo的属性
映射文件
测试代码
输出映射
resultType
使用要求
使用resultType进行结果映射时,需要查询出的列名和映射的对象的属性名一致,才能映射成功。
如果查询的列名和对象的属性名全部不一致,那么映射的对象为空。
如果查询的列名和对象的属性名有一个一致,那么映射的对象不为空,但是只有映射正确那一个属性才有值。
如果查询的sql的列名有别名,那么这个别名就是和属性映射的列名。
简单类型
注意,对简单类型的结果映射也是有要求的,查询的列必须是一列,才能映射为简单类型。
需求
查询用户总数
映射文件
简单类型的我没有写,直接用别人的图parameterType需要改一下
Mapper接口
测试代码
Pojo和包装pojo
参考前面的findUserById和findUserByName
resultMap
使用要求
使用resultMap进行结果映射时,不需要查询的列名和映射的属性名必须一致。但是需要声明一个resultMap,来对列名和属性名进行映射。
需求
对sql查询结果进行对象映射
映射文件
Mapper接口
测试代码
略
动态sql
在mybatis中,它提供了一些动态sql标签,可以让程序员更快的进行mybatis的开发,这些动态sql可以通过sql的可重用性。。
常用的动态sql标签:if标签、where标签、sql片段、foreach标签
If/where
Sql片段
Foreach
配置文件
包装pojo类
UserQueryVO中加上idList和get set方法。
Mapper接口