输入映射和输出映射

输入映射

通过parameter指定输入参数的类型,类型可以是简单类型,vo实体类等。

需求:如果要完成用户信息的综合查询,需要传入的查询条件很复杂,建议使用自定义的包装对象。

package com.neusoft.vo;

 

public class UsersQuery {

   //封装用户类

         privateUsers users;

         //setter和getter方法

         publicUsers getUsers() {

                   returnusers;

         }

         publicvoid setUsers(Users users) {

                   this.users= users;

         }

         //还可以封装其他的类

         //....................

        

}

 

 

Mapper.xml里面相关的SQL语句:

 

 

 

 

输出映射:

resultType:使用resultType进行输出映射,只有查询出来的列名和vo实体类中的字段名完全一致,该列才可以映射成功。

如果查询出来的列名和vo实体类的字段名全部不一致,那么他就没有创建vo实体类。

只要查询出来的列名和vo字体类的字段名有一个一致,就会创建vo实体类。

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

不管输出的是vo的实体类还是一个列表,在mapper.xml里面resultType指定的类型是一样的,只是在dao接口的方法的返回值不一样。生成的动态代理对象中是根据dao接口中的方法的返回值来确定是调用selectOne和selectList.

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

如果查询出来的列名和vo实体类的字段名不一致,通过定义一个resultMap对列名和字段名做一个映射关系。

1.定义resultMap

2.使用resultMap作为SQL的输出映射类型

定义resultMap(在mapper.xml里面):

    

             

             

             

             

    

你可能感兴趣的:(SSM框架整合)