Spring_11 c3p0 使用入门

c3p0 是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

在Spring 中引入c3p0

下载c3p0

c3p0 主页:http://www.mchange.com/projects/c3p0/
c3p0下载地址:https://sourceforge.net/projects/c3p0/files/latest/download?source=typ_redirect

引入jar

先导入基础jar

包名
commons-logging-1.1.3.jar
log4j-1.2.17.jar
spring-beans-4.2.4.RELEASE.jar
spring-context-4.2.4.RELEASE.jar
spring-core-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
spring-aop-4.2.4.RELEASE.jar
spring-expression-4.2.4.RELEASE.jar
aopalliance-1.0.jar
aspectjweaver-1.8.9.jar
spring-aspects-4.2.4.RELEASE
spring-jdbc-4.2.4.RELEASE.jar
spring-tx-4.2.4.RELEASE.jar

导入c3p0jar

包名
c3p0-0.9.5.2.jar
mchange-commons-java-0.2.11.jar

代码连接数据库

ComboPooledDataSource dataSource = new ComboPooledDataSource();
try {
    //加载驱动
    dataSource.setDriverClass("com.mysql.jdbc.Driver");
    //设置数据库的链接地址
    dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/spring_db");
    //用户名
    dataSource.setUser("root");
    //密码
    dataSource.setPassword("root");
} catch (PropertyVetoException e) {
    e.printStackTrace();
}
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
String sql = "INSERT INTO user_info VALUES(?,?)";
int row  = jdbcTemplate.update(sql, "zhangwu", 200);
System.out.println(row);

上面代码是用c3p0 链接数据库插入一条数据。

spring 配置文件中配置c3p0

在Spring 中XML 中配置c3p0 原理就是依赖注入(IOC)。

下面的代码是一个例子,在UserDao 中调用JdbcTemplate 向数据库中插入一条数据,然后又在UserService 中控制UserDao 中的插入动作,下面我们看看具体代码如何实现。

  • UserDao
public class UserDao {
    public JdbcTemplate jdbcTemplate;
    
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public void  addUser() {
        String sql = "INSERT INTO user_info VALUES(?,?)";
        int row  = jdbcTemplate.update(sql, "xiaoxin", 20171006);
        System.out.println(row);
    }
}

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

    public void  add() {
        userDao.addUser();
    }
}

  • spring.xml



        //配置c3p0 
    
        
        
        
        
    
        // 将c3p0 注入JdbcTemplate
    
        
    
        //将UserDao 注入UserService
    
        
    
        //将JdbcTemplate 注入UserDao
    
        
    

c3p0 的一些配置


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

你可能感兴趣的:(Spring_11 c3p0 使用入门)