Mybatis中运用小技巧(三)外键与对象的关系

基于面向对象的思想,数据库的一个外键其实对应便是一个对象(因为一般来说,一张表就是一个类),而且在实际开发中,针对一个外键,我们总是希望能获得其更多的属性,这样可以让我们更方便的使用,也更加符合面向对象的思想,今天向大家展示的就是Mybatis中如何利用外键获得整个对象。

假设你现在正在写一个微博系统,你有两张表(microblog和user),microblog中有一个userId,是一个外键,对应user的主键id,因此当我们在取一个microblog的时候总是希望能一起取到其相应的user,因此micrblog类中需要有一个属性:

private User user;<span style="white-space:pre">		</span>//这个属性是新增的
private Integer userid;<span style="white-space:pre">		</span>//这个属性可以有

而在其对应的MyBatis的xml文件中,和userId列相关的属性有两个(当然,你也可以写成只有一个User,那么在取userid时只需要将格式更改为user.id,前段传到后台时其name也是这么写):

<result column="userId" property="userid" jdbcType="INTEGER" />
<association property="user" column="userId" select="getUser"/>
<!--而getUser的写法如下-->
<select id="getUser" parameterType="int" resultType="cn.cslg.microblog.PO.User">
         SELECT id, name, password, email, activecode, state FROM User WHERE id=#{id}
  </select>

这样写之后,每次你从数据库中查出一个Microblog,MyBatis都会自动地帮你查出一个其对应的user,这样做可以更加方便高效地为你的代码服务,希望大家能有所感悟。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值