初识Mybatis(五)之输入映射和输出映射
2018-01-16 10:52
411 查看
MyBatis的映射
在Mapper.xml配置文件中的配置:<select id="selectUserById" resultType="User" parameterType="java.lang.Integer"> select * from user where id = #{v} </select>
以这个最简单的例子来看select 元素中属性有:
resultType, parameterType这两个属性,分别对应sql语句中的返回值类型和传入参数类型
MyBatis的输入映射
parameterType:此处要求传入的是Java中类型的全包名parameterType可以有以下几种类型参数:
1.POJO类型
2.Java中内置的基本数据类型和八大包装类型
3.自定义包装类型
前两种都在前面的文章中提到,本文只提到自定义包装类型:所谓包装类型,就是将POJO类型包装在另外一个类中作为另外一个类的属性
自定义包装类:
package com.tangbaobao.mybits.pojo; import java.io.Serializable; import java.util.List; /** * @author 唐学俊 * @version 2018年1月15日上午11:04:19 实现序列化接口保证在RPC远程调用中对象的正确性 */ public class QueryVo implements Serializable { // 包装User private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } }
UserMapper.xml中的配置
<!-- 用包装类查询用户名查询用户 --> <select id="findQueryVoUserName" resultType="com.tangbaobao.mybits.pojo.User" parameterType="com.tangbaobao.mybits.pojo.QueryVo"> select * from user where username like "%"#{user.username}"%" </select>
4000
[/code]
在这里需要注意的是传入的数据类型是Query,但是需要的username在user类下
所以可以理解的取值顺序为Query类->user属性–>User类->username属性
包装pojo的好处:某些业务需要组装的数据或者实体,包装pojo就非常简单
Mybatis输出映射
输出映射分为:1.POJO类型映射
2.java内置数据类型映射
3.包装类型映射
前几篇文章的例子都是数据库的字段和PoJo相同,但是在某些情况下,数据库字段和Pojo类字段如果不一样就不能正的映射了,这时候,Mybatis为我们提供了数据库字段和Pojo字段的映射Map
<resultMap type="com.tangbaobao.mybits.pojo.User" id="user"> <id/ column = "数据库字段" property ="POJO类属性字段"><!--主键--> <result column = "数据库字段" property ="POJO类属性字段"/><!--除了主键的其他字段映射--> </resultMap> <select id="findQueryVoUserName" resultMap="user" parameterType="QueryVo"> select * from user where username like "%"#{user.username}"%" </select>
在resultMap中需要注意的是引用的resut值是要映射Result的id,千万不要写重复或者写错,否则映射不到
相关文章推荐
- MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql
- Mybatis学习总结(四)——输入映射和输出映射
- mybatis 输入输出映射
- 【MyBatis学习06】输入映射和输出映射
- mybatis 输入、输出映射
- 【MyBatis学习06】输入映射和输出映射
- MyBatis输入映射和输出映射实例详解
- Mybatis (五)输入映射 HashMap输出 传递pojo包装 resultType resultMap 动态sql
- mybatis系列笔记(4)---输入输出映射
- Mybatis 输入和输出映射
- Mybatis学习(05)-mapper代理方法开发dao && 输入映射和输出映射
- mybatis进阶--输入映射和输出映射
- mybatis入门基础(四)----输入映射和输出映射
- Mybatis深入了解(四)----输入输出映射
- mybatis进阶--输入映射和输出映射
- Mybatis输入映射和输出映射
- 【mybatis深度历险系列】mybatis中的输入映射和输出映射
- mybatis进阶--输入映射和输出映射
- mybatis(六) 输入映射 输出映射 resultType:resultMap 动态sql sql片段 if判断 foreach
- mybatis之入门到开发(三)之常用对象SqlSessionFactory和SqlSession,动态sql,输入映射和输出映射