代码改变世界

spring-c3p0-01

2018-11-27 00:03  crow!  阅读(161)  评论(0编辑  收藏  举报

配置

    <context:annotation-config />
    <context:component-scan base-package="cn.mldn" />
    <context:property-placeholder location="classpath:database.properties"/>
    
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${db.driver}" />
        <property name="jdbcUrl" value="${db.url}" />
        <property name="user" value="${db.user}" />
        <property name="password" value="${db.password}" />
        <property name="maxPoolSize" value="${pool.max}" />
        <property name="minPoolSize" value="${pool.min}" />
        <property name="initialPoolSize" value="${pool.init}" />
        <property name="maxIdleTime" value="${pool.idle}" />
    </bean>
    
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>

database.properties

db.driver=org.gjt.mm.mysql.Driver
db.url=jdbc:mysql://localhost:3306/mldn
db.user=root
db.password=mysqladmin
pool.max=100
pool.min=20
pool.init=10
pool.idle=100

 

测试:

    public static void main(String[] args) throws Exception {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");

        JdbcTemplate jt = ctx.getBean("jdbcTemplate",JdbcTemplate.class);
        String sql = "SELECT mid FROM member ";
        List<String> all = jt.queryForList(sql, String.class);
        System.out.println(all);

    }

 JdbcDAOsupport

import cn.mldn.dao.IMemberDAO;
import cn.mldn.vo.Member;

public class MemberDAOImpl extends JdbcDaoSupport implements IMemberDAO {

    @Autowired
    public MemberDAOImpl(JdbcTemplate jdbcTemplate) {    //注入  jdbcTemplate 
        super.setJdbcTemplate(jdbcTemplate);        // 由JdbcDaoSupport管理 jdbcTemplate 
    }
    
    @Override
    public boolean doCreate(Member vo) throws Exception {
        this.getJdbcTemplate().update("");    //执行完毕后由JdbcDaoSupport负责数据库关闭
        return false;
    }
}