一、JdbcTemplate 概述
在之前的web学习中,学习了手动封装JDBCtemplate,其好处是通过(sql语句+参数)模板化了编程。而真正的JDBCtemplete类,是Spring框架为我们写好的。
它是 Spring 框架中提供的一个对象,是对原始 Jdbc API 对象的简单封装。spring 框架为我们提供了很多的操作模板类。
操作关系型数据的:JdbcTemplate
和HibernateTemplate。
操作 nosql 数据库的:RedisTemplate。
操作消息队列的:JmsTemplate。
Spring框架的JdbcTemplate在spring-jdbc
的jar包中,,除了要导入这个 jar 包
外,还需要导入一个 spring-tx
的jar包(它是和事务相关的)。当然连接池的jar包也不能忘记,这里使用的是c3p0。
二、创建对象的源码分析
参考JDBCtemplate的部分源码
public JdbcTemplate() {
}
public JdbcTemplate(DataSource dataSource) {
setDataSource(dataSource);
afterPropertiesSet();
}
public JdbcTemplate(DataSource dataSource, boolean lazyInit) {
setDataSource(dataSource);
setLazyInit(lazyInit);
afterPropertiesSet();
}
除了默认构造函数之外,都需要提供一个数据源。既然有set方法,我们可以
在配置文件中配置这些对象。
三、JdbcTemplate操作数据库
sql语句
create database mybase2;
USE mybase2;
CREATE TABLE `user` (
`id` INT(10) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` VARCHAR(20) NOT NULL DEFAULT '0',
`age` INT(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
;
使用JDBCtemplate模板操作数据库
package com.gql.jdbc;
import java.beans.PropertyVetoException;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import com.mchange.v2.c3p0.ComboPooledDataSource;
/**
* 类说明:
* 使用JDBCtemplate模板操作数据库
* @guoqianliang1998.
*/
public class Demo {
@Test
public void testJdbcTemplate() throws Exception{
//创建连接池对象(使用c3p0)
ComboPooledDataSource pool = new ComboPooledDataSource();
//1.加载驱动
pool.setDriverClass("com.mysql.jdbc.Driver");
//2.获取连接
pool.setJdbcUrl("jdbc:mysql://localhost:3306/mybase2");
pool.setUser("root");
pool.setPassword("Hudie");
//3.创建JdbcTemplate对象
JdbcTemplate pj = new JdbcTemplate(pool);
String sql ="INSERT INTO user values(NULL,?,?)";
//4.执行sql语句
int result = pj.update(sql, "冬雨",21);
System.out.println(result);
}
}
这样,就使用Java语言在数据库中创建了一条记录。
转载:https://blog.csdn.net/weixin_43691058/article/details/104145703
查看评论