3.6、Spring JDBC Template
3.6.1、JdbcTemplate概述
它是spring框架中提供的一个对象,是对原始繁琐的jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的Jdbc Template和Hibernate Template,操作Nosql数据库的Redis Template,操作消息队列的Jms Template等等。
3.6.2、Jdbc Template开发步骤
①导入spring-jdbc和spring-tx依赖
②创建数据表和实体
③创建Jdbc Template对象
④执行数据库操作
<!--导入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>
创建websites
数据库,websites
表和实体
@Data
@AllArgsConstructor
@NoArgsConstructor
public class website {
private int id;
private String name;
private String url;
private int alexa;
private String country;
}
public class JdbcTemplateTest {
@Test
public void test1() throws PropertyVetoException {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/websites");
//&serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=UTF-8
dataSource.setUser("root");
dataSource.setPassword("admin");
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
int row = jdbcTemplate.update("insert into websites values (?,?,?,?,?)",7,"百度","https:///www.baidu.com",3,"cn");
System.out.println(row);
}
}
3.6.3、spring产生JdbcTmeplate对象
我们可以将JdbcTemplate的创建权交给Spring,将数据源DataSource的创建权也交给Spring,在Spring容器内部将数据源DataSource注入到JdbcTemplate模版对象中,配置如下:
<!--数据源DataSource-->
<bean id="dataSource" class=