似梦似意境似梦似意境03-20 09:08

Spring框架|JdbcTemplate介绍


一、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语言在数据库中创建了一条记录。

发布了437 篇原创文章 · 获赞 1316 · 访问量 33万+

程序之家二维码

小额赞赏

000
评论

为您推荐