xxMapper.xml 文件详解
2017-12-26 20:40
323 查看
输入映射:通过parameterType来指定输入参数的类型,类型可以是简单类型、hashmap、pojo类型
1、简单类型、pojo类型在配置文件中有 2、hashmap <select id="finfUserByHashMap" parameterType="hashmap" resultType="user"> select * from user where id=#{id} and username like '%${username}%' </select> 注意:两个参数 id 和 username 为 hashmap 中的 key,hashmap为默认支持的别名。 3、传递 pojo 的包装对象 需求:进行综合查询,需要传入的查询条件很复杂(包括用户信息、商品信息、订单信息、其他信息等等) 针对上面的需求,建议使用自定义的包装类型的 pojo 在包装类型的 pojo 中将复杂的查询条件包装进去。 具体做法:创建一个包装类(一般命名为 xxxQueryVo),在其中声明需要包装进来的所有类,并生成其getter和setter方法。之后即可在xxxMapper.xml中用:属性.属性.属性 的方式来获取查询条件值 4、xxxMapper.xml 在 UserMapper.xml 中定义用户信息综合查询(查询条件复杂) 用:属性.属性.属性 的方式来获取查询条件值
输出映射
1、resultType ,注意: A、使用 resultType 进行输出映射时,只有查询出来的列名和 pojo 中的属性名一致,该列才可能映射成功。 B、当查询出来的结果集只有一列且只有一行,可以使用简单类型进行输出映射。如分页时的 count 总数。 C、不管是输出的 pojo 单个对象还是一个列表(list中包括列表),在 xxxMapper.xml 中 resultType 指定的类型是一样的,都是 pojo 对象的全路径。 D、在 xxxMapper.java 中指定的方法的返回值可能会不一样:若输出的是单个pojo对象,那么 xxxMapper.java 中的返回值也是单个 pojo 对象;若输出的是 pojo对象的list集合,那么 xxxMapper.java 中的返回值是 pojo对象的list集合 E、生成的动态代理对象中是根据 xxxMapper.java 中方法的返回值类型确定是调用 selectOne(返回单个对象),还是 selectList(返回集合对象) 2、resultMap:MyBatis 中使用 resultMap 来完成高级输出结果映射 A、定义resultMap <!-- 定义 resultMap type:resultMap 最终映射的 java 对象类型,可以使用别名 id:对 resultMap 的唯一标识 --> <resultMap type="user" id="userResultMap"> <!-- id 表示查询结果集中的唯一标识 column:查询出来的列名 property:type指定的pojo类型中的属性名 最终 resultMap 对 column 和 property 做一个映射关系(对应关系) --> <id column="id_" property="id"/> <!-- result 表示查询结果集中的一般标识 column:查询出来的列名 property:type指定的pojo类型中的属性名 最终 resultMap 对 column 和 property 做一个映射关系(对应关系) --> <result column="username_" property="username"/> </resultMap> B、使用resultMap <!-- 使用resultMap进行输出映射 resultMap:指定定义的resultMap的id,如果这个resultMap在其他的xxxMapper.xml文 件中,前面需要加上namespace --> <select id="getListByResultMap" resultMap="userResultMap"> select id id_,username username_ from user </select>
小结:
如果 resultType 进行输出映射时,只有查询出来的列名和 pojo 中的属性名一致,该列才可以映射成功;如果此时查询出来的列名和 pojo 中的属性名不一致,则可以通过定义一个 resultMap 来对列名和 pojo 属性名之间作一个映射关系。
相关文章推荐
- MyBatis之Mapper XML 文件详解(五)-自动映射查询结果
- MyBatis之Mapper XML 文件详解(六)-缓存配置
- MyBatis之Mapper XML 文件详解(三)-Result Maps
- MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
- hibernate映射文件 xx.hbm.xml配置映射元素详解--Hibernate映射类型
- Java数据持久层框架 MyBatis之API学习六(Mapper XML 文件详解)
- #五.mybatis--XXmapper.xml(映射文件解析)
- MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
- MyBatis之Mapper XML 文件详解(一)
- Spring、MyBatis的整合数据映射器类(UserMapper->iocContext.xml)配置文件详解
- MyBatis之Mapper XML 文件详解-缓存配置
- Mybatis的mapper.xml文件详解
- mapper.xml配置文件详解
- MyBatis之Mapper XML 文件详解(二)-sql和入参
- MyBatis之Mapper XML 文件详解-自动映射查询结果
- MyBatis之Mapper XML 文件详解(五)-自动映射查询结果
- Mybatis的mapper.xml文件详解
- MyBatis之Mapper XML 文件详解(六)-缓存配置
- MyBatis之Mapper XML 文件详解(一)
- MyBatis之Mapper XML 文件详解(二)-sql和入参