当前位置: 代码迷 >> Java Web开发 >> 小弟我的c3p0数据库连接池连接的sqlserver2000
  详细解决方案

小弟我的c3p0数据库连接池连接的sqlserver2000

热度:96   发布时间:2016-04-17 01:19:18.0
我的c3p0数据库连接池连接的sqlserver2000
以下是配置文件以及调用代码
XML code
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">        <property name="driverClass">            <value>net.sourceforge.jtds.jdbc.Driver</value>        </property>        <property name="jdbcUrl">            <value>jdbc:jtds:sqlserver://192.168.10.10:1432/suo</value>        </property>        <property name="user">            <value>sa</value>        </property>        <property name="password">            <value>sa</value>        </property>        <property name="minPoolSize">            <value>5</value>        </property>                <property name="maxPoolSize">            <value>50</value>        </property>                        <property name="acquireIncrement">            <value>2</value>        </property>                        <property name="idleConnectionTestPeriod">            <value>60</value>        </property>                        <property name="acquireRetryAttempts">            <value>30</value>        </property>                        <property name="maxIdleTime">        <value>30</value>        </property>                <property name="initialPoolSize">        <value>6</value>        </property>        <property name="maxStatements">        <value>0</value>        </property></bean>

Java code
import java.sql.CallableStatement;import java.sql.Connection;import java.util.List;import java.util.Map;import com.login.vo.Sd_accountVo;import com.login.vo.chargeListVo;import com.login.vo.planrateVO;import org.springframework.jdbc.core.support.JdbcDaoSupport;import com.login.dao.ILoginDAO;public class LoginDAO extends JdbcDaoSupport implements ILoginDAO {    public List<Map> Query(String sql) throws Exception     {        return this.getJdbcTemplate().queryForList(sql);    }    public Connection getc()    {        Connection c= null;        try{                c = this.getJdbcTemplate().getDataSource().getConnection();        }catch(Exception e)        {            e.printStackTrace();        }        return c;    }    //Connection c =getc();        public boolean Update(String ...sql) throws Exception    {        for(String s : sql)        {            //System.out.println("what's up?"+s);            if(!s.equals(""))                this.getJdbcTemplate().update(s);        }        return true;    }        public boolean execProdu(Sd_accountVo sd,String produName,String usercode)throws Exception    {        boolean t = false ;        CallableStatement call=null;        try{        call = getc().prepareCall        ("{CALL "+produName+"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}");         call.setString(23, sd.getSim());                 ...         call.executeUpdate();                  //call.getMoreResults(4);        t=true;                }catch(Exception e)        {            e.printStackTrace();            //t=false;        }finally        {            call.close();        }        return t;    }


------解决方案--------------------
这个不是c3p0的问题,是你的代码没有关闭连接。如果用spring,最好还是用jdbcTemplate,那样不用显式获取连接,也不用自己关闭。你这种用法只能自己关闭了。
  相关解决方案