6      输入映射

通过parameterType指定输入参数的类型,类型可以是简单类型、hashmap、pojo的包装类型。

6.1.1     需求

完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息、其它信息,比如商品、订单的)

6.1.2     定义包装类型pojo

针对上边需求,建议使用自定义的包装类型的pojo。在包装类型的pojo中将复杂的查询条件包装进去。

6.1.3     mapper.xml

在UserMapper.xml中定义用户信息综合查询(查询条件复杂,通过高级查询进行复杂关联查询)。

6.1.4     mapper.java

6.1.5     测试代码

7       输出映射

7.1     resultType

使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo中的属性名全部不一致,没有创建pojo对象。

只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象。

7.1.1     输出简单类型

7.1.1.1              需求

用户信息的综合查询列表总数,通过查询总数和上边用户综合查询列表才可以实现分页。

7.1.1.2              mapper.xml

7.1.1.3              mapper.java

7.1.1.4              测试代码

7.1.1.5              小结

查询出来的结果集只有一行且一列,可以使用简单类型进行输出映射。

7.1.2     输出pojo对象和pojo列表

不管是输出的pojo单个对象还是一个列表(list中包括pojo),在mapper.xml中resultType指定的类型是一样的。

在mapper.java指定的方法返回值类型不一样:

1、输出单个pojo对象,方法返回值是单个对象类型

2、输出pojo对象list,方法返回值是List<Pojo>

生成的动态代理对象中是根据mapper方法的返回值类型确定是调用selectOne(返回单个对象调用)还是selectList (返回集合对象调用 ).

7.2     resultMap

mybatis中使用resultMap完成高级输出结果映射。

7.2.1     resultMap使用方法

如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

1、定义resultMap

2、使用resultMap作为statement的输出映射类型

7.2.2     将下边的sql使用User完成映射

SELECT id id_,username username_ FROM USER WHERE id=#{value}

User类中属性名和上边查询列名不一致。

7.2.2.1              定义reusltMap

7.2.2.2              使用resultMap作为statement的输出映射类型

7.2.2.3              mapper.java

7.2.2.4              测试

1.2     小结

使用resultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。

如果查询出来的列名和pojo的属性名不一致,通过定义一个resultMap对列名和pojo属性名之间作一个映射关系。

最新文章

  1. eclipse中怎么用cmd
  2. .NET开发笔记(二十二) .NET VS Java
  3. ios appIcon配置
  4. clang: error: no such file or directory: 报错
  5. eclipse 智能提示
  6. 反编译工具reflector破解方法
  7. Git-仓库迁移
  8. MAC mysql安装及设置
  9. 浅谈js观察者模式
  10. jquery promot
  11. css系列教程--css文件的创建
  12. javascript 汉字拼音排序
  13. javascript绑定事件
  14. HDU4549 M斐波那契数
  15. 7、Cocos2dx 3.0游戏开发找小三之3.0版本号的代码风格
  16. h1b期间回国须知
  17. 京东消息中间件JMQ
  18. SQLGetEnvAttr
  19. 良好的GUI设计指南
  20. UTF-8 Invalid Byte Sequences

热门文章

  1. (转)同步异步,阻塞非阻塞 和nginx的IO模型
  2. Permanent data region free space insufficient to allocate 64792 bytes of memory
  3. 1分钟搭建极简mock server
  4. 从Linux服务器下载文件到本地
  5. 位运算(3)——Reverse Bits
  6. mysql 语句学习一 关于系统信息的查询
  7. mysql三-3:完整性约束
  8. JDBC实现动态查询
  9. iOS Touch ID 简易开发教程
  10. 01.IDEA常用快捷键