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

2023年7月29日13:09:29

一、返回一般数据类型

        此实列总代用的是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 类型

 好比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 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>

三、返回Map类型

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>

  • 作者:学无丿止境
  • 原文链接:https://blog.csdn.net/weixin_44716861/article/details/126244172
    更新时间:2023年7月29日13:09:29 ,共 1297 字。