Spring Boot数据访问技术

文章目录

    • Spring Boot数据访问概述
    • Spring Boot整合MyBatis
    • Spring Boot整合JPA
    • Spring Boot整合Redis
    • 小结

Spring Boot数据访问概述

Spring Data是 Spring 提供的一个用于简化数据库访问、支持云服务的开源框架。它是一个伞形项目,包含了大量关系型数据库及非关系型数据库的数据访问解决方案,其设计目的是使我们可以快速且简单地使用各种数据访问技术。Spring Boot默认采用整合 Spring Data 的方式统一处理数据访问层,通过添加大量自动配置,引入各种数据访问模板 xxxTemplate 以及统一的Repository接口,从而达到简化数据访问层的操作。

Spring Boot整合MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射,避免了几平所有的JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的XML 或注解配置和映射原生信息,并将接口和 Java的POJOs (Plain Old Java Objects,普通 Java 对象)映射成数据库中的记录。Spring Boot 官方虽然没有对 MyBatis 进行整合,但是 MyBatis 团队自行适配了对应的启动器,进一步简化了 MyBatis 对数据的操作。

例如:
在数据准备中

Spring Boot整合JPA

Spring Boot 与 MyBatis 整合使用时,不仅支持注解方式,还支持XML配置文件的方式。下
面通过一个案例来演示如何使用配置文件的方式整合 MyBatis。

Spring Data JPA 是 Spring 在 ORM 框架、JPA 规范的基础上封装的一套 JPA应用框架,它提供了增删改查等常用功能,使开发者可以用较少的代码实现数据操作,同时还易于扩展。考虑到部分读者可能对 Spring Data JPA 并不熟悉,在正式讲解 Spring Boot整合 JPA之前,我们先针对 Spring Data JPA的基本使用进行简单介绍。

 

Spring Boot整合Redis

除了对关系型数据库的整合支持外,Spring Boot 对非关系型数据库也提供了非常好的支持。本节将讲解 Spring Boot 与非关系型数据库Redis 的整合使用。

 Redis 介绍

Redis 是一个开源(BSD 许可)的、内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,并提供多种语言的API。Redis 支持多种类型的数据结构,例如字符串(strings )、散列(hashes )、列表(lists )、集合(sets )等。同时,Redis 内部内置了复本(replication )、LUA 脚本(Lua scripting)、LRU 驱动事件(LRU eviction )、事务(Transaction)和不同级别的磁盘持久化(persistence),并通过 Redis Sentinel 和自动分区提供高可用性(high availability )。

相较于其他的 key-value 键值存储系统而言,Redis 主要有以下优点。
(1)存取速度快:Redis 速度非常快,每秒可执行大约 110 000 次的设值操作,或者执行81 000次的读取操作。
(2)支持丰富的数据类型:Redis 支持开发人员常用的大多数数据类型,例如列表、集合、排序集和散列等。
(3)操作具有原子性:所有 Redis 操作都是原子操作,这确保如果两个客户端并发访问,Redis 服务器能接收更新后的值。
(4)提供多种功能:Redis 提供了多种功能特性,可用作非关系型数据库、缓存中间件、消息中间件等。

小结

主要讲解了 Spring Boot的数据访问,包括 Spring Boot 与 MyBatis 整合、Spring Boot 与 JPA 整合以及Spring Boot 与 Redis 整合。Spring Boot支持与众多常用类型的关系型数据库和非关系型数据库操作框架的整合使用,极大地简化了整合配置和开发速度。本章选取了其中3个主要的整合技术进行讲解,读者在学习过程中务必仔细查看并亲自演示,同时要深刻体会Spring Boot 与其他技术的整合思路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值