连接池可以大大提高数据库的性能和连接速度,将那些已连接的数据库连接存放在一个连接池里,以后别人要连接数据库的时候,将不会重新建立数据库连接,直接从连接池中取出可用的连接,用户使用完毕后,会释放连接重新放到连接池中。

下载必要jar包mchange-commons-java-0.2.14.jar和c3p0-0.9.2.1.jar

快捷键ctrl+alt+shift+s导入jar包

编写UserDao.java

 package com.jdbc.c3p0;
import org.springframework.jdbc.core.JdbcTemplate; public class UserDao {
private JdbcTemplate jdbcTemplate;
public void setJdbcTemplate(JdbcTemplate jdbcTemplate){
this.jdbcTemplate = jdbcTemplate;
} public void add(){
//创建jdbcTemplate对象
//JdbcTemplate jdbcTemplate = new JdbcTemplate();
String sql = "insert into user values(?,?)";
jdbcTemplate.update(sql,"Lilei","bbbbbb");
}
}

编写UserService.java

 package com.jdbc.c3p0;

 public class UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao = userDao;
} public void add(){
userDao.add();
}
}

编写配置文件bean.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd "> <!-- 配置c3p0连接池 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<!-- 注入dao对象 -->
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql:///test"></property>
<property name="user" value="root"></property>
<property name="password" value="xxxxx"></property>
</bean> <bean id="userService" class="com.jdbc.c3p0.UserService">
<property name="userDao" ref="userDao"></property>
</bean>
<bean id="userDao" class="com.jdbc.c3p0.UserDao">
<!-- 注入jdbcTemplate对象-->
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean> <!-- 创建jdbcTemplate对象 -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 把dataSource传递到模板对象中-->
<property name="dataSource" ref="dataSource"></property>
</bean>
</beans>

编写测试文件TestService.java

 package com.jdbc.c3p0;

 import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class TestService {
@Test
public void testDemo(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
UserService userService = (UserService) context.getBean("userService");
userService.add();
}
}

运行可见添加一条记录

最新文章

  1. IIS部署遇到的一些问题
  2. JNI在C 和 C++ 函数实现的不同
  3. 写在开始编写Java之前(1)——Java的跨平台性
  4. SSH(2)-- ssh_config和sshd_config
  5. delphi 调用百度地图WEBSERVICE转换GPS坐标 转
  6. 重装系统必做之——更换Windows系统的默认临时文件的存储目录
  7. linux发展前景如何?
  8. Android多媒体框架对音乐播放器的支持
  9. PHP 魔术方法 __get __set (二)
  10. sqlserver 变量
  11. JS闭包的概念
  12. Myeclipse利用maven构建sping web项目
  13. pyspark 内容介绍(一)
  14. 几种功能类似Linux命令汇总
  15. 获取MySql每一列的数据类型和长度默认值等信息
  16. HTML5中meta属性大集合
  17. C# 中的线程安全集合类
  18. JDK 新特性
  19. android -------- 沉浸式状态栏和沉浸式导航栏(ImmersionBar)
  20. 7.9 GRASP原则九: 隔离变化

热门文章

  1. v4l2框架分析
  2. Struts2单文件上传原理及示例
  3. .net core Ocelot实现API网关并部署在docker中
  4. About Gnu Linker2
  5. IDEA注册码分享
  6. [HTML]HTML隐藏文本框的四种方式
  7. .net core2 api
  8. var let const
  9. React基础概念
  10. 用Itextsharp 组件导出PDF 的文档的方法