Spring-04:持久化数据,了解SpringDataJPA和Mybatis

1 Javaweb阶段的方式

在之前的Javaweb项目中,我们持久化数据的方式还是直接使用JDBC

参考:Javaweb总结-目前开发Javaweb的套路梳理

https://www.cnblogs.com/fancy2022/p/16606960.html

这种方式非常复杂,开发效率低,现在我们要使用Spring框架,就要引入新的ORM框架

2 持久化数据:ORM框架

ORM:(Object-Relational Mapping):对象关系映射

常用的框架有:

  • Mybatis

  • Hibernate

  • Spring Data JPA

  • JdbcTemplate

2.1 Spring Data JPA介绍

JPA(Java Persistence API,Java持久化API)是一个Java应用程序接口规范,描述了使用Java标准平台(Java SE)和Java企业版平台(Java EE)的应用中的关系数据的管理。

Spring Data JPA属于Spring Data的子项目,

Spring Data JPA的内置实现中提供了包括增删改查、分页、自定义SQL的常用功能,且提供接口以待拓展增强。

基于Spring Data JPA可以简洁的代码,快速的实现对数据库的访问。

2.2 Mybatis介绍

Mybatis是一款优秀的持久层框架,他支持自定义SQL、存储过程以及高级映射。Mybatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。Mybatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。

2.3 对比分析

对我们开发业务而言,最大的区别就是Mybatis可以自定义SQL语句。

(Spring Data JPA是面向对象的,而MyBatis是面向关系的)

功能对比:参考https://www.cnblogs.com/threadj/p/13304870.html

序号 功能项 Spring Data JPA Mybatis
1 启动配置 数据库连接+JPA相关配置 数据库连接+Mybatis相关配置
2 映射关系 注解方式实现POJO与数据表之间的映射 XML配置结合自动映射(或驼峰映射),实现POJO与SQL之间的映射
3 类型转换 Convert,多用于如枚举值的存取 TypeHandle,多用于枚举类型数据存储
4 读写接口 内置提供CRUD、分页、排序、 Example等基础接口,可自我拓展 默认不提供实现,由使用者实现,但是Mybatis-Plus提供通用mapper、分页
5 查询语言 提供约定的查询语言JPQL,同时支持原生SQL 支持原生SQL,支持动态SQL
6 其他 1、支持对象模型正向创建数据库模型;2、提供缓存机制;3、提供乐观锁指定 1、提供Interceptor,可以拦截SQL进行一定的处理;2、Mybatis-Plus提供代码生成器、支持数据库模型逆向生成对象模型

之后我们会使用Mybatis来演示详细案例,在本书《Spring实战第5版》中的数据持久化部分仅了解即可。

posted @ 2022-10-10 23:45  Fancy[love]  阅读(77)  评论(0编辑  收藏  举报