Mybatis ResultType 和 ResultMap

1.使用resultType映射的pojo            
                    1.如果sql查询出来的列名和resultType指定的pojo的属性名存在至少一个一致,则映射成功,否则映射失败。
                            1.查询出来的列名和pojo属性名全部不一致,就不会创建对象
                            2.只要查询出来的列名和pojo属性名存在一个一致,则会创建对象。 

                3.无法实现延迟加载    
                    2.对于一些简单查询,且查询结果较少的查询使用resultType                   
            2.resultMap高级输出结果映射
                            1.高级映射

                          将查询列映射到一个pojo属性中
                                      将查询列映射到List<pojo>属性中
                            2.查询返回结果列名和pojo属性名不一致,通过定义一个resultMap可以实现在查询结果列名和pojo属性名之间做一个映射。    
                 

<!-- id:对于resultMap的唯一标识,type:指定返回结果类型,可以使用别名  -->
      <resultMap type="celebrity" id="celebrityResultMap">
       <!--id:标识查询结果中唯一标识  -->
       <!--column:查询出来的列名  -->
       <!--property:type指定pojo类型中的属性名  -->
      <id column="id" property="c_id"></id>
       <!--result:对普通名定义映射 -->
       <!--column:查询出来的列名  -->
       <!--property:type指定pojo类型中的属性名  -->
      <result column="name" property="c_name"></result>
</resultMap>

   
	<!--标签的id属性起到标识标签的作用,同时由于mybatis框架会将sql语句封装到一个MappedStatement底层对象中 -->
	<!--1.将SQL语句侧参数通过占位符(#{})提交到动态提交到sql语句中 -->
	<!--#{}表示一个占位符 -->
	<!--2.将sql语句的返回结果和java实体对象映射 -->
	<!--3.parameterType:表示sql语句输入参数的类型,注意如果参数为简单类型,则占位符参数名可以任意定义 -->
	<!--4.resultType:表示sql语句执行结果所映射的java对象的类型 (单条记录) -->
	<select id="getById" parameterType="int"
		resultMap="celebrityResultMap">
		select c_id as id, c_name as name from celebrity where c_id=#{value}
	</select>

                            3.可以实现延迟加载
                            4.对于有特殊要求,查询结果较多的查询使用resultMap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值