一.Spring JDBC 概述

Spring JDBC是Spring所提供的持久层技术,它主要的目的是降低JDBC API的使用难度,以一种更直接,更简洁的方式使用JDBC API. ​ Spring JDBC 模块负责数据库资源和错误处理,大大简化了开发人员对数据库的操作.

二.Spring JDBC的配置

1.下载 Spring JdbcTemplate 的 jar 包

此处我们需要导入Spring jdbc 和 阿里数据源的jar包,它们在Maven仓库中的项目坐标如下:

<!-- spring-jdbc --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.2.2.RELEASE</version></dependency><!-- 阿里数据源 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency>

注:

  • Spring JDBCjar包提供数据访问层的功能,提供了JdbcTemplate封装的方法操作数据库.我们主要使用它的事物管理功能

  • 阿里巴巴数据源提供了数据库连接池功能组件,是一款阿里开源的数据库管理组件,音译为德鲁伊.其中提供了与数据库连接的实现,提供数据库连接池功能

    什么是数据库连接池?

    我们在进行数据库连接时需要频繁的创建数据库连接对象(Connection)开销比较大,因此提出了数据库连接池的概念 ​ 我们使用数据库连接池事先缓存部分连接对象,使用时直接从数据库连接池中获取,使用完毕之后也不尽兴销毁,还回数据库连接池中,减少了创建连接对象,销毁对象所需的时间. 常见的数据库连接池组件:

    c3po,dbcp,JNDI,阿里数据源

2.导入属性文件

进行此步骤的前提是我们创建了属性文件并在其中存入了jdbc信息

 driverName=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://127.0.0.1:3306/ssmdb?serverTimezone=Asia/Shanghaiuname=XXXpsw=XXX

注:

此处为了防止Spring jdbc在获取信息时发生错误,我们需要在此处将username和password进行修改,之后在配置文件中进行配置即可.

 <context:property-placeholder location="config.properties"/>

3.管理数据源对象

此步骤进行的是Spring与数据库的链接操作,将属性文件中的信息传入Spring

 <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd">​<!--配置读取属性文件--><context:property-placeholder location="classpath:config.properties"></context:property-placeholder><!--Spring管理数据源--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${driverName}"></property><property name="url" value="${url}"></property><property name="username" value="${uname}"></property><property name="password" value="${psw}"></property></bean></beans>

4.在配置文件中创建JdbcTemplate

 <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property></bean>

5.在类中获得JdbcTemplate对象,就可以直接使用

 package com.ffyc.springdemo.dao;​​import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.stereotype.Repository;​@Repositorypublic class AdminDao {​@AutowiredJdbcTemplate jdbcTemplate;​public void saveAdmin(){System.out.println("保存管理员");jdbcTemplate.update("insert into admin(account,password,gender)values (?,?,?)","wh","111","女");}}​

6.测试类:

此处我们以基于注解的方式进行了SpringBean的配置,其余类在我的SpringBean博客中有介绍.

package com.ffyc.springdemo.test;​import com.ffyc.springdemo.service.AdminService;import org.junit.jupiter.api.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;​public class Test1 {​@Testpublic  void test() {​ApplicationContext app = new ClassPathXmlApplicationContext("spring.xml");AdminService adminService = app.getBean("adminService", AdminService.class);adminService.saveAdmin();}}​

这样我们就通过Spring Jdbc实现了JDBC操作,取代了传统jdbc方式的繁琐步骤

注:

Spring JDBC 默认自动向数据库提交事物,我们无需手动提交方可在数据库中查看SQL语句执行结果.

JdbcTemplate 中常用的方法

  • execute:无返回值,可执行 ddl,增删改语句

  • update:执行新增、修改、删除语句

  • queryForXXX:执行查询相关语句

Spring JDBC相关推荐

  1. Struts2+spring+jdbc 以xml配置形式整合

    今天做作业,练习一下Struts2+spring+jdbc 以xml配置形式整合 整合步骤: 工程结构图: 重要配置文件 web.xml <?xml version="1.0" ...

  2. Java EE---通过Spring JDBC实现数据库的增、删、改、查

    Spring JDBC之update.query方法 1.项目清单 2.全部代码 2.1.student 2.2.stuDao 2.3.applicationContext.xml 2.4.test ...

  3. Spring JDBC详解

    <Spring JDBC详解> 本文旨在讲述Spring JDBC模块的用法.Spring JDBC模块是Spring框架的基础模块之一. 一.概述 在Spring JDBC模块中,所有的 ...

  4. Spring JDBC Template

    Spring为我们提供了JDBC的模板来连接数据库,Spring JDBC Template. 使用: 第一,导入相关的jar包 第二,要连接数据库首先要加载驱动,获得连接,然后才能进行相关的数据库操 ...

  5. 使用Spring JDBC框架连接并操作数据库

    在前一篇博文JAVA通过JDBC连接并操作MySQL数据库中,我们知道如何通过JDBC连接并操作数据库,但是请看程序,整个程序连接数据库和关闭数据库占了很大一部分代码量,而且每次我们执行一下数据库操作 ...

  6. Spring + JDBC + Struts联合开发(实现单表的CRUD)

    这里使用Spring + JDBC +Struts,完成新闻表的添加,修改,删除和查询功能. 建立数据库: [sql] view plain copy CREATE TABLE news_type ( ...

  7. Spring4.X系列之Spring JDBC

    专栏 导读 源码 专栏 欢迎关注 : Spring-JDBC手札 导读 Spring JDBC-Spring对DAO的支持 Apache-DBCP数据库连接池解读 C3P0-数据库连接池解读 Spri ...

  8. Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据

    概述 如何获取本地数据连接 示例从DBCP数据源中获取Oracle的本地连接对象 相关接口操作 LobCreator LobHandler 插入LOB类型的数据 以块数据的方式读取LOB数据 以流数据 ...

  9. Spring JDBC-使用Spring JDBC访问数据库

    概述 使用Spring JDBC 基本的数据操作 更改数据 返回数据库表的自增主键值 批量更改数据 查询数据 使用RowCallbackHandler处理结果集 使用RowMapperT处理结果集 R ...

  10. Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块

    概述 功能简介 环境准备 构建工具Maven 数据库脚本Oracle 建立工程 类包及Spring配置文件规划 持久层 建立领域对象 用户领域对象 登录日志领域对象 UserDao LoginLogD ...

最新文章

  1. Ubuntu iso镜像文件写入U盘
  2. python画图代码turtle-Python使用Turtle图形函数画图 颜色填充!
  3. 贝壳扫地机器人_科沃斯每个型号扫地机器人的特点是什么?
  4. Mongodb源码分析--Replication之主从模式--Master
  5. Bzoj 2724: [Violet 6]蒲公英(分块)
  6. BenchmarkDotNet性能测试
  7. Linux启动hbase的shell命令出现警告_系统启动优盘制作图文教程(Windows Linux 等)...
  8. REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建
  9. Meta-Programming in Python
  10. eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
  11. 无胁科技-TVD每日漏洞情报-2022-7-12
  12. POST请求下载文件
  13. 透明网桥对数据帧的处理方式
  14. 圣诞帽php,微信小程序“圣诞帽”的实现思路详解
  15. LTE 中的CQI,PMI,RI上报机制
  16. RFID-上位机软件界面设计
  17. uni-app实战之社区交友APP(20)兼容处理和打包上线
  18. 深入浅出OpenGL三维渲染管线
  19. 中国家电闯入国外运营费成本比中国高
  20. 【VSCode】from origin ‘null‘ has been blocked by CORS policy: Cross origin requests are only supported

热门文章

  1. 大数据量高效导入数据库(以excel导入sqlserver为例)
  2. 游戏设计艺术 第2版 读书笔记(完)
  3. MySQL 复习存储过程游标使用
  4. Unity3D 发布Android平台打包APK时遇到的几个问题
  5. 使用CDB和NTSD开始调试旅程
  6. wine中解决中文字体问题
  7. 大数据案例分析1.4(回归问题及其性能评价)
  8. C语言源代码系列-管理系统之职工信息管理系统
  9. 数模(5):Malthus和Logistic模型
  10. delphi chrome获取html5,TChromium获取网页源代码delphi代码