目录
①:DDL,使用excute()方法进行创建一个user数据库表
②:使用update对数据进行增删改(update只能执行一条sql)
③:使用batchUpdate对数据进行增删改(可以执行多条sql)
一、基本介绍
由于使用jdbc时,每次都需要自己获取PreparedStatement,输入sql语句参数,关闭连接等操作。造成操作冗余。影响我们打代码的效率。JdbcTemplate就是为了改善这种情况,使用JDBCTemplate可以只写SQL语句就可以了
JdbcTemplate是Spring的一部分,是对数据库的操作在jdbc的封装,处理了资源的建立和释放(不需要我们管理连接了),我们只需要提供SQL语句,使JDBC更加易于使用。
JDBCTemplate是Spring框架对JDBC操作的封装,简单、灵活但不够强大,实际应用中还是需要使用其他ORM框架。
二、环境搭建
①:导入jar包
使用Maven创建工程,需要导入Mysql驱动、Spring组件(core、beans、context、aop)、JDBC Template(jdbc、tx)包
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xyz</groupId>
<artifactId>SpringJdbcTemplate</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
</dependencies>
</project>
②:配置Spring.xml配置文件
需要配置dataSource和JdbcTemplate
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/selection_course?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
三、JDBC Template基本使用
1.JdbcTemplate开发流程
①.首先通过Spring的配置文件获得工厂类ApplicationContext
②通过ApplicationContext获得JdbcTemplate对象
③通过JdbcTemplate 进行对数据库的操作
@org.junit.Test
public void testExecute(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext
("spring.xml");
JdbcTemplate jdbcTemplate = (JdbcTemplate) applicationContext.getBean("jdbcTemplate");
}
2.JdbcTemplate常用方法
execute 方法:可以执行任何Sql,但通常只是用来进行DDL操作
update和batchUpdate 方法:对数据进行增、删、改(后者可以进行批量的增删改操作)
query与queryXXX 方法:对数据进行查询
3.案例:
①:DDL,使用excute()方法进行创建一个user数据库表
@org.junit.Test
public void testExecute(){
ApplicationContext applicationContext = new ClassPathXmlApplicationContext
("spring.xml");
JdbcTemplate jdbcTemplate