我在上一章节中,重点讲解了Spring中关于DataSource的一些理论知识点,接下来本章节我主要是带大家学习JdbcTemplate的使用。
一. JdbcTemplate
1. JdbcTemplate简介
JDBC虽然能够满足大部分用户最基本的需求,但是在使用JDBC时,必须自己来管理数据库的资源,如获取PreparedStatement,设置SQL语句参数,关闭连接等操作,使用起来非常的麻烦。
所以为了简化对JDBC的操作,Spring为数据库JDBC做了深层次的封装。它利用DI注入功能,把DataSource注入到了JdbcTemplate之中,从而得到了JdbcTemplate操作模板类。JdbcTemplate的出现,使得JDBC的操作更加简单易用。
2. JdbcTemplate的作用
JdbcTemplate可以帮助我们处理资源的建立和释放,运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果;并且也可以使我们避免一些常见的错误,比如忘记关闭数据库连接。
3. JdbcTemplate依赖包介绍
JdbcTemplate位于spring-jdbc-xxx.jar包中,其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemplate还需一个spring-tx-xxx.jar依赖包,该包包含了事务和异常控制。
4. JdbcTemplate主要提供以下五类方法:
- execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;
- update方法及batchUpdate方法:update方法用于执行INSERT、UPDATE、DELETE等DML语句;batchUpdate方法用于执行批处理相关语句;
- query方法及queryForXXX方法:用于执行DQL查询相关语句;
- call方法:用于执行存储过程、函数相关语句。
5. JdbcTemplate使用步骤
- 导入数据库相关依赖包,比如jpa或者jdbc;
- 获取所需的某个DataSource数据源连接池对象;
- 创建JdbcTemplate对象,传入到连接池中;
- 调用execute、update、queryXxx等方法。
二. Spring Boot中整合JdbcTemplate
1. 准备工作
- SpringBoot 2.x
- jdk 1.8
- maven 3.0
- ideal
- mysql
2. 创建一个web项目(略)
将该项目改造成spring-boot项目,具体过程请参考我之前关于spring-boot项目创建的章节。
项目结构:
3. pom.xml文件中添加依赖
org.springframework.boot spring-boot-starter-jdbcmysql mysql-connecto