输入映射parameterType
通过parametType指定输入参数的类型,类型可以是简单类型,hashmap,pojo包装类型
输出映射resultType和resultMap
resultType
查询结果只有一行一列时,可以将结果映射为简单类型
查询单个pojo对象和查询list<pojo>写法是一样的,区别在于mapper.java的返回类型
hashmap:输出pojo对象用hashmap类型,key作为列名,value为字段值
使用resultType映射pojo的注意事项:
- 使用resultType进行映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功
- 如果查询出来的列名和pojo中的属性名全部不一致,就不会创建pojo对象
- 只要查询出来的列名和pojo中的属性有一个一致,就会创建pojo对象
resultMap
定义resultMap
<!-- type:resultMap最终映射的java对象类型,可以使用别名 id:对resultMap唯一标识 如果resultMap的定义和使用不是在同一文件,使用时需加namespace --> <resultMap type="com.mybatis.user" id="userResultMap"> <!-- id表示主键 column:查询出来的列名 property:type类型中的属性名 --> <id column="" property="" /> <!-- result对普通列进行映射 column:查询出来的列名 property:type类型中的属性名 --> <result column="" property="" /> <!-- 一对一的关系映射 property:type类型中的属性名 --> <association property="user" column="uid"> <id column="" property="" /> <result column="" property="" /> </association> <!-- 一对多的关系映射 property:type类型中的属性名 ofType表示集合中元素的类型 --> <collection property="" ofType=""> <id column="" property="" /> <result column="" property="" /> </collection> </resultMap>