Spring JDBC
一.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相关推荐
- Struts2+spring+jdbc 以xml配置形式整合
今天做作业,练习一下Struts2+spring+jdbc 以xml配置形式整合 整合步骤: 工程结构图: 重要配置文件 web.xml <?xml version="1.0" ...
- Java EE---通过Spring JDBC实现数据库的增、删、改、查
Spring JDBC之update.query方法 1.项目清单 2.全部代码 2.1.student 2.2.stuDao 2.3.applicationContext.xml 2.4.test ...
- Spring JDBC详解
<Spring JDBC详解> 本文旨在讲述Spring JDBC模块的用法.Spring JDBC模块是Spring框架的基础模块之一. 一.概述 在Spring JDBC模块中,所有的 ...
- Spring JDBC Template
Spring为我们提供了JDBC的模板来连接数据库,Spring JDBC Template. 使用: 第一,导入相关的jar包 第二,要连接数据库首先要加载驱动,获得连接,然后才能进行相关的数据库操 ...
- 使用Spring JDBC框架连接并操作数据库
在前一篇博文JAVA通过JDBC连接并操作MySQL数据库中,我们知道如何通过JDBC连接并操作数据库,但是请看程序,整个程序连接数据库和关闭数据库占了很大一部分代码量,而且每次我们执行一下数据库操作 ...
- Spring + JDBC + Struts联合开发(实现单表的CRUD)
这里使用Spring + JDBC +Struts,完成新闻表的添加,修改,删除和查询功能. 建立数据库: [sql] view plain copy CREATE TABLE news_type ( ...
- Spring4.X系列之Spring JDBC
专栏 导读 源码 专栏 欢迎关注 : Spring-JDBC手札 导读 Spring JDBC-Spring对DAO的支持 Apache-DBCP数据库连接池解读 C3P0-数据库连接池解读 Spri ...
- Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
概述 如何获取本地数据连接 示例从DBCP数据源中获取Oracle的本地连接对象 相关接口操作 LobCreator LobHandler 插入LOB类型的数据 以块数据的方式读取LOB数据 以流数据 ...
- Spring JDBC-使用Spring JDBC访问数据库
概述 使用Spring JDBC 基本的数据操作 更改数据 返回数据库表的自增主键值 批量更改数据 查询数据 使用RowCallbackHandler处理结果集 使用RowMapperT处理结果集 R ...
- Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
概述 功能简介 环境准备 构建工具Maven 数据库脚本Oracle 建立工程 类包及Spring配置文件规划 持久层 建立领域对象 用户领域对象 登录日志领域对象 UserDao LoginLogD ...
最新文章
- Ubuntu iso镜像文件写入U盘
- python画图代码turtle-Python使用Turtle图形函数画图 颜色填充!
- 贝壳扫地机器人_科沃斯每个型号扫地机器人的特点是什么?
- Mongodb源码分析--Replication之主从模式--Master
- Bzoj 2724: [Violet 6]蒲公英(分块)
- BenchmarkDotNet性能测试
- Linux启动hbase的shell命令出现警告_系统启动优盘制作图文教程(Windows Linux 等)...
- REST+EJB+JPA 框架在 Eclipse+TomEE 的开发环境搭建
- Meta-Programming in Python
- eoLinker-API_Shop_知识类API调用的代码示例合集:驾考题库、ISBN书号查询、万年历查询等...
- 无胁科技-TVD每日漏洞情报-2022-7-12
- POST请求下载文件
- 透明网桥对数据帧的处理方式
- 圣诞帽php,微信小程序“圣诞帽”的实现思路详解
- LTE 中的CQI,PMI,RI上报机制
- RFID-上位机软件界面设计
- uni-app实战之社区交友APP(20)兼容处理和打包上线
- 深入浅出OpenGL三维渲染管线
- 中国家电闯入国外运营费成本比中国高
- 【VSCode】from origin ‘null‘ has been blocked by CORS policy: Cross origin requests are only supported