spring_jdbctemplate 整合c3p0

1.新建项目(spring_jdbc)项目结构如下

2.导入支持包jar如上

3.实现spring整合c3p0

   (1)准备数据库

-- 创建数据库
create database springjdbc;

-- 创建表
CREATE TABLE `ar_role` (
  `rid` int(10) NOT NULL AUTO_INCREMENT,
  `rname` varchar(20) DEFAULT NULL COMMENT '角色名',
  `alias` varchar(20) DEFAULT NULL COMMENT '别名',
  PRIMARY KEY (`rid`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- 插入数据
-- ----------------------------
INSERT INTO `ar_role` VALUES ('1', '系统管理员', 'admin');
INSERT INTO `ar_role` VALUES ('2', '调度员', 'dispa');

(2)两种实现方式

          1.直接赋值

package com.linxin.spring;

import java.beans.PropertyVetoException;
import javax.sql.DataSource;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class jdbctemplate {
	@Test
	public void testSave1() throws PropertyVetoException{
		//准备连接池
		ComboPooledDataSource dataSource= new ComboPooledDataSource();
		dataSource.setDriverClass("com.mysql.jdbc.Driver");
		dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/springjdbc");
		dataSource.setUser("root");
		dataSource.setPassword("root");
		
		JdbcTemplate jt= new JdbcTemplate(dataSource);
		String sql="insert into "+"ar_role(rname,alias)"
				+"value(?,?)";
		jt.update(sql,"test1","test1");
		
	}
}

2.读取(c3p0-config.xml 方式)

     (1)在src下新建c3p0-config.xml(名字固定)

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
	<default-config>
		<property name="driverCalss">com.mysql.jdbc.Driver</property>
		<property name="jdbcUrl">jdbc:mysql://39.108.131.123:3306/springjdbc</property>
		<property name="user">root</property>
		<property name="password">10086.10010</property>
	</default-config>
</c3p0-config>

       (2)在src下新建包(com.linxin.spring.utils)类dataSourceUtil.java

package com.linxin.spring.utils;

import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class DataSourceUtil {
	// 准备c3po 连接池对象
	private static ComboPooledDataSource dataSource = new ComboPooledDataSource();

	/**
	 * 直接获取连接池
	 * 
	 * @return 连接池
	 */
	public static DataSource getDataSource() {
		return dataSource;
	}
}

        (3)新建测试类

package com.linxin.spring;

import java.beans.PropertyVetoException;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;
import com.linxin.spring.utils.DataSourceUtil;

public class jdbctemplate {
	
	@Test
	public void testSave2() throws PropertyVetoException, SQLException{
		//准备连接池
		DataSource dataSource= DataSourceUtil.getDataSource();
		JdbcTemplate jt= new JdbcTemplate(dataSource);
		String sql="insert into "+"ar_role(rname,alias)"
				+"value(?,?)";
		jt.update(sql,"test3","test3");
		
	}

}

猜你喜欢

转载自blog.csdn.net/weixin_45460315/article/details/105148988
今日推荐