Jav详细介绍的Mapper对应的Mybatis xml查询结果resultType返回值类型

首页 / 新闻资讯 / 正文

一、返回一般数据类型

        此实列总代用的是string类型

列:比如我们要根据 id 属性获得数据库中的某个字段值。

mapper 接口:

    // 根据 id 获得数据库中的 username 字段的值
    String getEmpNameById(Long id);

XML映射文件:

    <!--  指定 resultType 返回值类型时 String 类型的,           string 在这里是一个别名,代表的是 java.lang.String          对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'         基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 byte 对应的别名是 '_byte'         有些时候resultType会检测不到String类型,检测不到就写全包路径 java.lang.String  -->      <select id="getEmpNameById" resultType="string">         select username from t_employee where id = #{id}     </select> 

 好比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 JavaBean 类型的数据。(简而言之平常使用的实体类)

mapper 接口:

// 根据 id 查询信息,并把信息封装成 User 对象
User getUserID(Long id);

    <!--          通过 resultType 指定查询的结果是 user类型的数据           只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性     -->     <select id="getUserID" resultType="user">         select * from user where id = #{id}     </select> 

MyBatis 还支持将查询的数据封装成Map。

如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。

mapper 接口:

    //  根据 id 查询信息,并把结果信息封装成 Map 
    Map<String, Object> getUserById(Long id);
 

SQL 映射文件:

    <!--          注意这里的 resultType 返回值类型是 'map'      -->     <select id="getUserById" resultType="map">         select * from user where id = #{id}     </select> 

四、返回List类型(比较常用的一种重点)

有时候我们要查询的数据不止一条,比如:页面的模糊查询,直接展示多条表记录,这时候返回的数据可能不止是一条数据,对于多数据的处理可以存放在List集合中。

mapper 接口:

    // 假如是全表查询数据,将查询的数据封装成 Employee 类型的集合
    List<User> selectAllUser();

 SQL 映射文件:

    <!-- 注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list' -->     <select id="selectAllUser" resultType="user">         select * from user     </select>