Spring里操作数据库有很多方案,Hibernate、JPA、Mybatis、JDBCTemplate、Spring Data JPA、Ktorm等等
作为一个用Kotlin来写Android应用的开发,面对这么多方案,我该选什么方案呢?
Java版本的ORM
首先可以参考一下 微信公众号“方志朋”上的一篇文章:
数据持久化框架为什么放弃Hibernate、JPA、Mybatis,最终选择JDBCTemplate!
为什么老外不愿意用 MyBatis?
由于目前国内多数采用Mybatis-Plus,这里整理了一些文章:
跟我学Springboot开发后端管理系统2:Mybatis-Plus实战
跟我学Springboot开发后端管理系统3:Mybatis-Plus实战2
Spring Boot基础教程系列 (见程序猿DD的微信公众号)
Spring Boot 2.x基础教程:MyBatis的多数据源配置
Spring Boot 2.x基础教程:默认数据源Hikari的配置详解
Spring Boot 2.x基础教程:使用国产数据库连接池Druid
跟我学Springboot开发后端管理系统4:数据库连接池Druid和HikariCP
Kotlin版本的ORM
异步、非阻塞的响应式数据库规范
Java 响应式关系数据库连接了解一下
只会JDBC连接MySQL?来试试R2DBC吧
总结:
无论 ADBA 还是 R2DBC 都不是为了取代 JDBC 。只是为了补充在响应式编程下的空白。至于响应式的未来如何,目前还不是很明朗,但是发展很迅速,我还是很看好的。就目前来说 ADBA 具有官方加持的优势,而 R2DBC 具有活跃的社区优势,究竟谁是业界规则的领导者,相信很快就会揭晓。
对于刚入门的我来说,还是先复习好SQL语言,然后多研究一下Mybatis-Plus,以及阿里开源的数据库连接池Druid,
然后后面有精力再学习一下非关系型数据库Redis,至于响应式的ORM,研究下面这两个就行了:
- jasync-sql:Java和Kotlin的R2DBC包装器,用Kotlin编写的MySQL和PostgreSQL异步数据库驱动程序。
- r2dbc-mysql:为MySQL实现的原生驱动程序。