栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

T31训练营 DAY5

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

T31训练营 DAY5

谈谈数据访问层框架(2)

本文延续上一篇文章,继续谈谈常见的Java数据访问层框架的优缺点。

tkMybatis

优点:对MyBatis Generator插件生成单表模板的进一步封装,解决了每次改动数据表结构后的手工同步工作,单表操作几乎无需写额外代码或配置文件。

缺点:和MyBatis Generator插件一样,提供了Criteria支持代码层面的查询条件组装,大规模使用容易造成使用不当。

推荐指数:4星,推荐替代简单的单表操作,复杂查询还是用Mapper.xml中管理

Mybatis Plus

优点:和tkMybatis一样,单表操作几乎无需写额外代码或配置文件,功能插件丰富。

缺点:功能太过丰富以至于成了对Mybatis的改写,而不是增强,并且在往Hibernate的路上缺陷越深,但又没有Hibernate/JPA优雅。

推荐指数:2.5星,定位迷失,为什么直接不选择Hibernate

Hibernate/JPA

优点:通过注解实现映射,自动生成执行的SQL,JPA是Java ORM的标准,比较优雅,容易实现DDD中的Repository,在欧美使用率高

缺点:对象状态的管理极为复杂,初学者容易踩坑,学习曲线陡

推荐指数:3星,对团队能力要求高

Spring Data JPA

优点:JPA规范的再次封装抽象,Spring家族出品

缺点:底层还是使用了Hibernate的JPA技术实现

推荐指数:3星,基本同上

Spring Data JDBC

优点:轻量级ORM框架,与Spring Data JPA类似,但更轻量简单,实现了基本的基本CRUD接口实现,容易实现DDD中的Repository,支持根据Java方法名推导出SQL,@Query支持原生SQL语句,以及自定义扩展,支持集成MyBatis。

缺点:成熟度还不是很高,文档较少。

推荐指数:4星,高潜力项目

最后,公布下获得5星大奖的数据访问层:

Ruby On Rails的Active Record

原来最优雅的框架在别处

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358402.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号