Spring - 数据库开发概述
Spring 数据库开发
- Spring 的 JDBC 模块负责数据库资源管理和镨误处理,大大简化了开发人员对数据库的操作,使得开发人员可以从繁琐的数据库操作中解脱出来,从而将更多的精力投入到编写业务逻辑当中。
JdbcTemplate 介绍
- 该类是 Spring 框架数据抽象层的基础,是 Spring JDBC 的核心类。
- JdbcTemplate 类的继承结构具体如下图所示:
- JdbcAccessor 是 JdbcTemplate 类的直接父类,该类为子类提供了一些访问数据库时使用的公共属性。
- DataSource:获取数据库连接,还可以引入对数据库连接的缓冲池和分布式事务的支持,它可以作为数据库资源的标准接口。
- SQLExceptionTranslator:该接口负责对 SQLException 进行转译工作。通过必要的设置获取 SQLExceptionTranslator 中的方法,可以使 JdbcTemplate 在需要处理 SQLException 时,委托 SQLExceptionTranslator 的实现类来完成相关的转译工作。
- JdbcOperations 接口定义了在 JdbcTemplate 类中可以使用的操作集合,包括添加、修改、查询和删除等操作。
Spring JDBC 模型
- 主要由 4 个包组成
- core(核心包)
- 包含了 JDBC 的核心功能,包括 JdbcTemplate 类、SimpleJdbcInsert 类、SimpleJdbcCall 类以及 NamedParameterJdbcTemplate 类。
- dataSource(数据源包)
- 访问数据源的实用工具类,它由多种数据源的实现,可以在 Java EE 容器外部测试 JDBC 代码。
- 配置中的四个属性:driverClassName、url、username 和 password。
- object(对象包)
- 以面向对象的方式访问数据库,它允许执行查询并将返回结果作为业务对象,可以在数据表的列和业务对象的属性之间映射查询结果。
- support(支持包)
- 包含了 core 和 object 包的支持类,例如,提供异常转换功能的 SQLException 类。
Spring JDBC 的配置(MySQL 下)
<!-- 所需Jar包: --> <!-- mysql-connector-java-5.1.37-bin.jar --> <!-- spring-jdbc-4.3.6.RELEASE.jar --> <!-- spring-tx-4.3.6.RELEASE.jar --> <!-- 1.配置数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <!-- 数据库驱动 --> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <!-- 连接数据库的url --> <property name="url" value="jdbc:mysql://localhost:3306/spring"></property> <!-- 连接数据库的用户名 --> <property name="username" value="root"></property> <!-- 连接数据库的密码 --> <property name="password" value="123"></property> </bean> <!-- 2.配置JDBC模板 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!-- 注入数据源(默认必须使用数据源) --> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 3.需要实例化的Bean(定义id为accountDao的Bean) --> <bean id="accountDao" class="com.nynu.jdbc.AccountDaoImpl"> <!-- 注入JDBC模板(将JdbcTemplate注入到accountDao实例中) --> <property name="jdbcTemplate" ref="jdbcTemplate"></property> </bean>
JdbcTemplate 常用方法
- 在 JdbcTemplate 核心类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的。
- execute(String sql):用于执行 SQL 语句。
- update():用于执行插入、更新和删除操作。
- query():用于执行数据查询操作。
- 使用 execute(String sql) 方法执行建表的案例实现步骤如下:
- 在 MySQL 中创建一个名为 spring 的数据库;
- 创建 Java 项目,导入相关 Jar 包。
- update() 方法
- 完成插入、更新和删除数据的操作。
.png)
- query() 方法,下面是常见的几个
.png)
Spring - 数据库开发概述的更多相关文章
- Spring数据库开发
Spring的数据库开发 #Spring中JDBC模板的作用 JDBC模板负责数据库资源管理和错误处理: #熟悉Spring JDBC的配置 配置数据源和jdbc模板 <?xml versio ...
- 开涛spring3(9.1) - Spring的事务 之 9.1 数据库事务概述
9.1 数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致性.隔离性和持久性 ...
- Spring的事务 之 9.1 数据库事务概述 ——跟我学spring3
9.1 数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致性.隔离性和持久性 ...
- 跟我学Spring3(9.1):Spring的事务之数据库事务概述
原文出处: 张开涛 9.1 数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致 ...
- 【Spring】Spring的事务管理 - 1、Spring事务管理概述(数据库事务、Spring事务管理的核心接口)
Spring事务管理概述 文章目录 Spring事务管理概述 数据库事务 什么是Spring的事务管理? Spring对事务管理的支持 Spring事务管理的核心接口 Platform Transac ...
- Spring的数据库开发
Spring JDBC框架操作mysql数据库 Spring中的JDBC为我们省去连接和关闭数据库的代码,我们着重关注对数据库的操作.Sprin ...
- 【Spring】Spring的数据库开发 - 2、Spring JdbcTemplate的常用方法(execute、update、query)
Spring JdbcTemplate的常用方法 文章目录 Spring JdbcTemplate的常用方法 execute() update() query() 简单记录-Java EE企业级应用开 ...
- 【Spring】Spring的数据库开发 - 1、Spring JDBC的配置和Spring JdbcTemplate的解析
Spring JDBC 文章目录 Spring JDBC Spring JdbcTemplate的解析 Spring JDBC的配置 简单记录-Java EE企业级应用开发教程(Spring+Spri ...
- Spring注解开发_Spring容器创建概述
浅尝Spring注解开发_Spring容器创建概述 浅尝Spring注解开发,基于Spring 4.3.12 概述Spring容器创建的过程,包括12个方法的执行 浅尝Spring注解开发_自定义注册 ...
随机推荐
- Python爬虫开发教程
正文 现在Python语言大火,在网络爬虫.人工智能.大数据等领域都有很好的应用.今天我向大家介绍一下Python爬虫的一些知识和常用类库的用法,希望能对大家有所帮助.其实爬虫这个概念很简单,基 ...
- idea导入 spring framework项目
准备的环境:gradle,idea 注意:gradle版本不一致会报各种错误,那么怎么查找依赖的版本呢? 首先在git上把spring framework项目拉取下来, 步骤一:复制URL路径 步骤二 ...
- mongoose-面向对象操作mongodb的Nodejs框架
介绍 无论是mysql还是mongodb,传统的与数据库交互的方式都是按照他们提供的API来写代码.它们提供的API往往不是很容易理解,而且难以记忆,如果传错了参数,写错一个符号都要查文档. ORM( ...
- javascript中的中介者模式——迪米特法则
”迪米特法则“——最少知识原则,不和陌生人说话,就是说,一个对象应当对其他对象有尽可能少的了解.talk only to your immediate friends.初衷是:降低对象之间的耦合度. ...
- Asp.Net Core 中IdentityServer4 授权中心之自定义授权模式
一.前言 上一篇我分享了一篇关于 Asp.Net Core 中IdentityServer4 授权中心之应用实战 的文章,其中有不少博友给我提了问题,其中有一个博友问我的一个场景,我给他解答的还不够完 ...
- 致远·面向人工智能-逐浪CMS v8.1.2全面发布[全球首个基于dotNET core3.0的中文CMS]
原文:https://www.z01.com/down/3484.shtml 再远, 我都不会停息, 因为技术而生, 因为技术而强, 这是逐浪软件的命与根! 全新打造, 三百多项超级功能, 助你十分钟 ...
- juery 弹出框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- inspect的使用安卓动态分析工具
一.安装步骤 1.安装xposed 2.安装inspect 二.inspect 一个基于Xposed 开发的应用动态分析工具 github已开源 内置web页面 体验度很不错 ‘ 核心功能 监控Sha ...
- Docker 技术系列之安装Docker Desktop for Mac
终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...
- Jmeter——如何使得token在各线程组间引用的游刃有余
在以前的博文中,有介绍过,jmeter基本的关联,关联就是将参数在各接口中动态传参,使得接口脚本变得灵活使用,非一次性脚本.今天再来介绍一种jmeter全局变量的设置与使用,可以让脚本运用更丰富,场景 ...
- Spring数据库开发