数据库工具
ORM 的定义:能实现对象到数据的映射。尤其能自动处理建表和新字段的加入。
JPA 与 Hibernate
Object-centric. JPA is ORM Specification which is implemented by Hibernate, Toplink, Eclipselink. Focuses on entities.
面向对象:
面向对象考虑的是对象的整个生命周期包括在对象的创建、持久化、状态的改变和行为等,对象的持久化只是对象的一种状态;
面向对象更强调对象状态的封装性,对象封装自己的状态(或数据)不允许外部对象随意修改,只暴露一些合法的行为方法供外部对象调用;
使用上:需要预先对保存的实体有较高的抽象,更关注业务模型
Mybatis
Database-centric . Focus on SQL query.
面向关系:
面向关系型数据库的概念则更关注数据的高效存储和读取;
而关系型数据库则是开放的,可以供用户随意读取和修改关系,并可以和其他表任意的关联(只要sql正确允许的情况下);
使用上:可能比较好定位 sql 之类的
实际情况下,发现国内还是 mybatis 及其变种用得更多,也就是回到了 sqlHelper 的路径。
mybatis-plus
我咋感觉它是结合了两者的优点,算是啥都能打的呢 🤣