5. Spring JdbcTemplate基本使用

1.1 JdbcTemplate概述

它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单装。spring框架为我们提供了很多的操作 模板类。例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作 消息队列的JmsTemplate等等。

1.2 JdbcTemplate开发步骤

① 导入spring-jdbc和spring-tx坐标
② 创建数据库表和实体
③ 创建JdbcTemplate对象
④ 执行数据库操作

1.3 JdbcTemplate快速入门

① 导入坐标

<!--导入spring的jdbc坐标--> 
<dependency> 
	<groupId>org.springframework</groupId> 
	<artifactId>spring-jdbc</artifactId> 
	<version>5.0.5.RELEASE</version> 
</dependency> 
<!--导入spring的tx坐标--> 
<dependency>
	<groupId>org.springframework</groupId> 
	<artifactId>spring-tx</artifactId>
	<version>5.0.5.RELEASE</version> 
</dependency

② 创建accout表和Accout实体

public class Account {
	private String name;
	private double money;
	//省略get和set方法 
}
	

③ 创建JdbcTemplate对象
④ 执行数据库操作

//1、创建数据源对象 
ComboPooledDataSource dataSource = new ComboPooledDataSource(); 
dataSource.setDriverClass("com.mysql.jdbc.Driver"); 
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test"); 
dataSource.setUser("root");
dataSource.setPassword("root");
//2、创建JdbcTemplate对象 
JdbcTemplate jdbcTemplate = new JdbcTemplate(); 
//3、设置数据源给JdbcTemplate 
jdbcTemplate.setDataSource(dataSource); 
//4、执行操作
jdbcTemplate.update("insert into account values(?,?)","tom",5000);

1.4 Spring产生JdbcTemplate对象

我们可以将JdbcTemplate的创建权交给Spring,将数据源DataSource的创建权也交给Spring,在Spring容器内部将
数据源DataSource注入到JdbcTemplate模版对象中,配置如下:

<!--数据源DataSource-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> 
	<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
	<property name="jdbcUrl" value="jdbc:mysql:///test"></property> 
	<property name="user" value="root"></property>
	<property name="password" value="root"></property> 
</bean> 
<!--JdbcTemplate--> 
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
	<property name="dataSource" ref="dataSource"></property> 
</bean>

从容器中获得JdbcTemplate进行添加操作

@Test
public void testSpringJdbcTemplate() throws PropertyVetoException { 
	ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
	JdbcTemplate jdbcTemplate = applicationContext.getBean(JdbcTemplate.class); 
	jdbcTemplate.update("insert into account values(?,?)","lucy",5000); 
}
posted @ 2022-06-17 15:47  宁君  阅读(38)  评论(0编辑  收藏  举报