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() 方法
    • 完成插入、更新和删除数据的操作。
  • query() 方法,下面是常见的几个

 

Spring - 数据库开发概述的更多相关文章

  1. Spring数据库开发

    Spring的数据库开发 #Spring中JDBC模板的作用 JDBC模板负责数据库资源管理和错误处理: #熟悉Spring  JDBC的配置 配置数据源和jdbc模板 <?xml versio ...

  2. 开涛spring3(9.1) - Spring的事务 之 9.1 数据库事务概述

    9.1  数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致性.隔离性和持久性 ...

  3. Spring的事务 之 9.1 数据库事务概述 ——跟我学spring3

    9.1  数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致性.隔离性和持久性 ...

  4. 跟我学Spring3(9.1):Spring的事务之数据库事务概述

    原文出处: 张开涛 9.1 数据库事务概述 事务首先是一系列操作组成的工作单元,该工作单元内的操作是不可分割的,即要么所有操作都做,要么所有操作都不做,这就是事务. 事务必需满足ACID(原子性.一致 ...

  5. 【Spring】Spring的事务管理 - 1、Spring事务管理概述(数据库事务、Spring事务管理的核心接口)

    Spring事务管理概述 文章目录 Spring事务管理概述 数据库事务 什么是Spring的事务管理? Spring对事务管理的支持 Spring事务管理的核心接口 Platform Transac ...

  6. Spring的数据库开发

                                Spring JDBC框架操作mysql数据库 Spring中的JDBC为我们省去连接和关闭数据库的代码,我们着重关注对数据库的操作.Sprin ...

  7. 【Spring】Spring的数据库开发 - 2、Spring JdbcTemplate的常用方法(execute、update、query)

    Spring JdbcTemplate的常用方法 文章目录 Spring JdbcTemplate的常用方法 execute() update() query() 简单记录-Java EE企业级应用开 ...

  8. 【Spring】Spring的数据库开发 - 1、Spring JDBC的配置和Spring JdbcTemplate的解析

    Spring JDBC 文章目录 Spring JDBC Spring JdbcTemplate的解析 Spring JDBC的配置 简单记录-Java EE企业级应用开发教程(Spring+Spri ...

  9. Spring注解开发_Spring容器创建概述

    浅尝Spring注解开发_Spring容器创建概述 浅尝Spring注解开发,基于Spring 4.3.12 概述Spring容器创建的过程,包括12个方法的执行 浅尝Spring注解开发_自定义注册 ...

随机推荐

  1. 利用canvas绘画二级树形结构图

    上周需要做一个把页面左侧列表内容拖拽到右侧区域,并且绘制成关系树的功能.看了设计图,第一反应是用canvas绘制关系线.吭哧吭哧搞定这个功能后,发现用canvas绘图,有一个很严重的缺陷.那就是如果左 ...

  2. Java多态实现的机制

    Java提供了编译时多态和运行时多态两种多态机制.前者是通过方法重载实现的,后者是通过方法的覆盖实现的. 在方法覆盖中,子类可以覆盖父类的方法,因此同类的方法会在父类与子类中有着不同的表现形式. 在J ...

  3. cocoapods相关的知识点

    目录 1.安装和卸载cocoapods 安装 卸载 2.常规问题解决思路 50%报错问题可以通过 pod install或者pod update解决 指定swift编译版本 由于墙的原因,可能会ins ...

  4. 第四章、深入理解vue组件

    4-1.使用组件的细节 a.使用is解决html出现bug 如下 table下面应该为tr,所以页面渲染的时候没有找到tr是有问题的,所以是有小bug,所以table中必须是tr b.改上面bug,t ...

  5. 数据挖掘入门系列教程(四点五)之Apriori算法

    目录 数据挖掘入门系列教程(四点五)之Apriori算法 频繁(项集)数据的评判标准 Apriori 算法流程 结尾 数据挖掘入门系列教程(四点五)之Apriori算法 Apriori(先验)算法关联 ...

  6. ClassLoader&双亲委派&类初始化过程

    1.class sycle 类加载的生命周期:加载(Loading)–>验证(Verification)–>准备(Preparation)–>解析(Resolution)–>初 ...

  7. 题解 NOIP2018【赛道修建】—— 洛谷

    这道题有一点点树上dp的意思(大佬轻喷 我刚拿到这道题的时候毫无头绪,只知道这道题要二分答案 为什么是二分答案??? 题目: 目前赛道修建的方案尚未确定.你的任务是设计一 种赛道修建的方案,使得修建的 ...

  8. python 2 和3 的区别

    python 2 和3 的区别 Python2 Python3 打印 print " " print() 输入 raw_input() input() 范围 range/xrang ...

  9. JavaScript每日学习日记(2)

    8.13.2019 1. 正则表达式常见字符串方法: search( ) , replace( ) var str = "Visit Website"; var n = str.s ...

  10. Jmeter中使用MD5方法

    在现在这家公司做测试的项目有用到鉴权,token的生成方式有使用到md5,具体的请求url和入参就不方便透露,讲一讲使用方法吧! 自带的Jmeter插件中是没有这个md5的所以,我们可以 (1)打开选 ...