java创建mapping_数据库表与java域模型之间的mapping和自动生成(基于mybatis)

最近有幸读到《企业架构模式》这本书,需要写作于2003年,已经是十年前,但仔细读过,有些东西现在只知道是这样用,但并不知道为什么要这样做。在看过此书之后,很多东西都能够有一条线进行贯穿,在使用到一些框架时,也知道背后的原因了。

这里面有一篇讲到对象-关系元数据映射的,实际上就是指在一个数据库中一个数据表与一个java中的domain对象之间的映射,在文中提到几种操作,也提到了为什么要这样做。其中,重要的当然是为什么要这样做了,但本篇主要讲期间在mybatis中笔者之前做的一个简单的映射,最终的效果与文中的结果基本上是一致的(因此在进行code时,还是没看过此书,结果发现自己又发明了一个新轮子)。

由于使用到mybatis,所以对模型之间的关系这里并没有涉及,只简单对应于一个数据表一个模型的概念。

通常情况下,我们在数据表中一个数据表user,有2个字段分别为user_name和password.那么在java中,我们会有一个对应的domain文件,如下代码所示:

这里只是一个简单的对应,同时字段user_name对应于userName,这里并不是完全相同的字符串.因此,在mybatis相对应的xml中,我们需要显示的对待mapping操作.如下xml所示:

这里涉及到一个东西,就是我们需要手动地编写相应的mapping语句,而且涉及到多个地方.比如在insert脚本中,需要编写user_name和userName不同的语句;在select中,还需要手动进行columnMap工作.对于一般的开发人员,使用copy&paste时,这里就会出错.而且一旦涉及到模型属性的变更,比如增加一个属性,表中加一个字段,这里的修改量就较大了,而且一旦涉及到代码还不集中,那就更麻烦了.

本篇即是引入一种特殊的columnMapp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值