mybatis中映射文件的resultType和resultMap

最近项目中要用到mybatis,在google上当了个案例看了下。加入连接数据库等配置。由于实体对象属性太多,测试案例中没有一一完全写出来。

在对象的映射文件中

<select id="getMotoTransLogList"  resultMap="MotoTransLogList">
       SELECT * FROM  MOTO_TRANS_LOG
  </select>

参考案例中resultMap这里为resultType。结果页面上读取不到数据,开始没考虑到数据库查询结果返回和实体对象的映射关系。问题最终解决为从新定义一个resultMap,列出我需要的字段和对象属性。


在使用mybatis通过id查询时mybatis自动映射数据库字段和实体类,当数据库字段与实体类的属性不一致时,mybatis就不能映射了,那么可以通过下面的配置映射:

配置一个返回的Map:

<!-- 当实体类属性跟数据库字段不一致时映射结果集 -->

<resultMap type="Person" id="result_person">

    <result property="name" column="t_name"/>

</resultMap>  

 

查询的时候resultType改为resultMap

 

<select id="selectOne" parameterType="int"  resultMap="result_person">

           select * from t_person where id=#{id}  

    </select>

 

 

如果返回类型为resultType时,java对象的属性应和数据库表里的各字段保持一致,这样在查出结果后mybatis会将Map里面的键值对取出赋给resultType所指定的对象对应的属性。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值