Spring框架学习笔记(七) Spring JdbcTemplate数据池连接

(一) 简介

     JdbcTemplate是 为了使 JDBC 更加易于使用, Spring 在 JDBC API 上定义了一个抽象层, 以此建立一个 JDBC 存取框架。JDBC Template作为Spring JDBC的框架核心,JDBC模板的设计是为不同类型的JDBC提供模板方法,,每一个模板都能控制整个过程,并覆盖过程中的特定任务,通过这种方式在竟可能保留灵活性的情况下,将数据库存取工作量讲到最低。
 

(二)连接

       我这次使用的是Spring 与C3p0数据池 的连接。

       1. 创建Java项目,并创建Lib文件夹,在Lib文件夹中导入需要的Jar包。

          (特别注意!!  每台机器上的MYSQL  版本不同,需要导入的Jar包不同,选择合适的Jar包。  另外导入C3P0数据池时应把 必须的三个包都导入进去) 导入jar 包后 构建路径。

         我的Mysql 版本是  8.0.12  ( 如果和我的版本一样 还需要注意的是 连接之前,一定要修改时区,不修改时区连接错误)       

set global time_zone='+8:00';

           我导入的包为如下图:  

            

2.  编写属性文件:   db.properties 

     (用于jdbc连接方便,便于修改)

 其中  Mysql 版本是8.0  的注意 jdbc.driverClass=com.mysql.cj.jdbc.Driver  

版本低的不需要加  cj

jdbc.user=root
jdbc.password=1230
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/spring

jdbc.initPoolSize=5
jdbc.maxPoolSize=10

 3. 配置xml配置文件

<!-- 导入资源文件 -->
	<context:property-placeholder location="classpath:db.properties"/>
	
	<!-- 配置 C3P0 数据源 -->
	<bean id="dataSource"
		class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="user" value="${jdbc.user}"></property>
		<property name="password" value="${jdbc.password}"></property>
		<property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property>
		<property name="driverClass" value="${jdbc.driverClass}"></property>

		<property name="initialPoolSize" value="${jdbc.initPoolSize}"></property>
		<property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property>
	</bean>

4.测试连接

创建主函数(或者测试函数) 进行连接。

(需要注意的是连接前,创建DataSource  时一定看好上方自动导入的包是否正确,正确的包是  

    import javax.sql.DataSource;  )

package jdbc;

import java.sql.SQLException;

import javax.sql.DataSource;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Main {

	public static void main(String[] args) throws SQLException {
		// TODO 自动生成的方法存根
		ApplicationContext ctx=new ClassPathXmlApplicationContext("bean.xml");
		
		DataSource dataSource=(DataSource) ctx.getBean("dataSource");
		System.out.println(dataSource.getConnection());
		

	}

}

5.测试之前

发布了25 篇原创文章 · 获赞 14 · 访问量 7195

猜你喜欢

转载自blog.csdn.net/sdau_20171819/article/details/104234091