• mybatis 的ResultMap和ResultType区别是什么?


     
    官方文档说明:

    ResultType: 期望从这条语句中返回结果的类全限定名或别名。 注意,如果返回的是集合,那应该设置为集合包含的类型,而不是集合本身的类型。 resultType 和 resultMap 之间只能同时使用一个。
    ResultMap: 对外部 resultMap 的命名引用。结果映射是 MyBatis 最强大的特性,如果你对其理解透彻,许多复杂的映射问题都能迎刃而解。
    白话文说明:

    ResultMap和ResultType都是用于设置mybatis增删改查后返回的数据类型。那么什么时候用ResultMap,什么时候用ResultType呢?
    如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。
    例如:


    //dao中的接口
    int addArticleThumbs(String id);

    <!--文章点赞数+1-->
    <update id="addArticleThumbs" ResultType="int">
    update
    <include refid="tableName"></include>
    <set>
    art_thumbs = art_thumbs+1
    </set>
    where
    id = #{id}
    </update>
     
    该SQL返回的是int型,那么ResultType定义成int型即可直接与Java进行绑定(基本数据类型默认可不写)。
    2. 但是你如果是返回一个复杂的对象,就可以使用ResultMap(当然ResultType也是可以的)。

    例如:

    创建User 对象, 拥有两个字段id,userName。

    //dao中的接口
    User queryUser(String id);

    <resultMap id="User" type="com.ssbm.ccapp.model.app.Usre">
    <result column="user_name" jdbcType="VARCHAR" property="userName" />
    </resultMap>

    <!--文章点赞数+1-->
    <select id="queryUser" resultMap="User">
    select * from user where id = #{id}
    </select>
     

  • 相关阅读:
    NSString 处理
    我的第一个IOSDemo
    NSArray创建和使用
    NSDate
    NSDictionary
    flash全屏代码
    getBounds
    运用递归随机出与上一个数不重复的数
    标签跟随鼠标移动
    保存数据到本地
  • 原文地址:https://www.cnblogs.com/xiaohouye/p/16642339.html
Copyright © 2020-2023  润新知