为了账号安全,请及时绑定邮箱和手机立即绑定

自己封装JDBC VS 持久化框架

自己封装JDBC VS 持久化框架

慕村9548890 2019-05-09 08:46:20
从jdbc到hibernate,从hibernate到mybatis,一直是麻木地跟着潮流,为了工作使用而使用我现在有个想法,在JDBC的基础上进行封装使用jdbc+redis来进行开发,这样我自己可以按自己的想法来蹂躏jdbc不知正式环境下,用这样的方式进行长期开发是否可行,是否存在问题?大公司持久化框架是自己封装还是使用现成的持久化框架?
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

自己封装没什么问题,只是是否有足够的资源与时间去做这件事。
现有的持久化框架主要功能点在于多SQL方言支持、多数据源配置、数据表映射(及实体字段变动与数据库表字段变动的联动处理)、缓存与自动化工具支持上。
如果业务只需要支持特定的SQL方言、少量甚至只有一个数据源、数据表映射的联动要求不高、不是非常需要缓存加持,那么自己封装并不是什么坏的选择。至于自动化工具支持,IDE一般会自带一些,然后就是SQL拼接工具之类的东西了,只要你熟悉设计模式与目标SQL方言的语法,那么自己动手做也挺好的。
特别的,关于数据表映射联动,举个栗子:
@Entity
publicclassStudentextendsBaseEntity{
privateStringname;
}
其中BaseEntity提供了基础表字段,如id、createtime、updatetime之类的东西,现在业务需求在Student中增加/减少一个字段,要求你的框架能自动识别并在对应数据表增加/减少对应字段,其中减少字段一般是直接取消对数据库表的响应字段映射即可。
然后一对多多对一之类的关联关系如何建立,联表查询的API形式等等,都是需要考量的。
再举个栗子,在hibernate中,允许通过@Where之类的注解来在对应字段getter触发时才拉取数据并应用注解值进行筛选,这种功能点是否需要以及如何去做。
公司普遍还是在现有ORM基础上二次封装出如mybatis-plus一类的东西,当然技术实力以及资源充足的组或公司会选择自行实现ORM中的部分东西。
                            
查看完整回答
反对 回复 2019-05-09
  • 2 回答
  • 0 关注
  • 391 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信