Spring系列学习四、Spring数据访问

Spring数据访问

欢迎回来,亲爱的朋友们!上一章我们介绍了Spring基础组件,并且基本纯Spring环境下实现了经典的Hello World,从中体会了Spring容器的使用,也看到了配置和使用有些麻烦,所以Spring又研发了Spring Boot 用来简化Spring的使用。

Spring Boot 是由 Spring 团队创建的一个用于简化 Spring 应用程序开发的框架。它基于约定优于配置的原则,通过提供自动配置、开箱即用等功能,简化了 Spring 应用程序的搭建和构建过程。Spring Boot 可以快速集成 Spring 的各个模块,并提供了一系列开发和部署的便利特性,如内嵌的 Servlet 容器、自动化的配置管理、健康监测、应用程序度量等。

近两年新的基本Spring的应用,多数都采用Spring Boot来简化应用的开发,而不是用纯原生Spring。 我们接下来对Spring的学习中,也会Spring Boot应用的基础上讲述。

话不多说,拿出你的笔记本和咖啡,开启我们今天的学习:Spring的数据访问。为什么要学习数据访问?因为在生活中,数据就像水,对于应用程序来说,数据就是灵魂,应用程序就是处理数据的,可见数据在应用程序开发中的核心重要。让我们一起来进入Spring访问数据的方法的学习中!

一、Spring中的JDBC模板介绍

在JAVA中,访问数据的操作,直接通过JDBC访问,整个操作可以说是相当的繁琐,在Spring中,对JDBC访问数据库,提供了很好的模板封装,即JdbcTemplate, 我们首先讲一下如何通过JdbcTemplate来访问数据库。Spring的JDBC模板是一个使得数据库的操作变得超级简单的神奇工具,使用它数据库访问将变得非常简单。

1、新建SpringBoot应用

2、引入依赖:

3、配置数据库连接,注入dbcTemplate对象,执行查询:


4,测试验证:

看,是不是就这么简单!不再需要写繁琐的代码建立连接,创建执行器,手工封装对象,处理SQLException、手动关闭数据库连接等。JdbcTemplate就像是一个特效药,处理了所有我们不想处理的烦琐事情,更多使用,请参见官方文档及API。

二、整合MyBatis Plus

JdbcTemplate相对于手工进行jdbc操作,已经方便快捷了很多,而MyBatis Plus作为一个数据库操作框架,提供了面向对象的操作方式,极大的简化了操作数据库的代码,提供了更加丰富的数据库操作方式,并且手动编写SQL也变得非常简洁,也是当前JAVA企业系统开发中,用的最为广泛的数据库操作框架,接下来我们要介绍的是如何将Spring和MyBatis Plus融为一体,有了MyBatis Plus的助力,系统中的数据库操作将无比的丝滑。

基于以上代码,只需要简单的两步,就可以完成整合和使用:

1,在你的项目中添加MyBatis Plus的依赖:

2,配置Mapper扫描路径

3,创建Mapper

4, 在服务类中,使用Mapper进行数据库操作:

看,就是这么简单!只需要几步,我们就成功的将MyBatis Plus整合到了我们的Spring项目中,并使用其强大的功能。

当然如果业务比较复杂的情况下,可以基于查询和更新的Wrapper进行复杂查询的封装或者使用mapper的xml文件的方式(推荐)。

关于mybatis-plus的更深入的学习,请访问 Mybatis官网 Mybatis Plus示例

可能有同学会有疑问,整合mybatis plus到spring boot时,并没有任何的配置文件的调整,就已经生效了,有点太不可思议, 其实这正是spring boot简化spring开发所坚持的原则,约定优于配置的原则,通过提供自动配置、开箱即用,已经帮我们做好了,只有在我们需要调整时,再按文档进行配置调整即可。

体验完以上所有内容后,相信你已经感受到spring家族化繁为简的迷人之处,它会帮助我们处理一切繁琐的事情,让我们可以专注于写出更美、更富有创意的代码。

相关推荐
小梁不秃捏3 小时前
深入浅出Java虚拟机(JVM)核心原理
java·开发语言·jvm
yngsqq6 小时前
c# —— StringBuilder 类
java·开发语言
Asthenia04126 小时前
浏览器缓存机制深度解析:电商场景下的性能优化实践
后端
星星点点洲6 小时前
【操作幂等和数据一致性】保障业务在MySQL和COS对象存储的一致
java·mysql
xiaolingting6 小时前
JVM层面的JAVA类和实例(Klass-OOP)
java·jvm·oop·klass·instanceklass·class对象
风口上的猪20157 小时前
thingboard告警信息格式美化
java·服务器·前端
databook7 小时前
『Python底层原理』--Python对象系统探秘
后端·python
追光少年33227 小时前
迭代器模式
java·迭代器模式
超爱吃士力架8 小时前
MySQL 中的回表是什么?
java·后端·面试
扣丁梦想家8 小时前
设计模式教程:装饰器模式(Decorator Pattern)
java·前端·装饰器模式