JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
连接数据库
使用的连接类是java.sql包中的DriverManager类,方法名:getConnection(),会返回一个数据库Connection对象,它的代码如下:
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
连接数据库
使用的连接类是java.sql包中的DriverManager类,方法名:getConnection(),会返回一个数据库Connection对象,它的代码如下:
解决方法,新建类并且继承org.apache.commons.dbcp.BasicDataSource类
接着重新close的方法即可。
/**
* registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister
* Created by alan.luo on 2017/9/5.
*/
public class BasicDataSourceEx extends BasicDataSource {
public BasicDataSourceEx(){
super();
}
@Override
public synchronized void close() throws SQLException {
DriverManager.deregisterDriver(DriverManager.getDriver(url));
super.close();
}
}
xml把bean对应的class改成新建的类名就可以了。
<bean id="dataSource" class="com.lanxinbase.system.basic.BasicDataSourceEx" destroy-method="close">
<property name="driverClassName" value="${db.driver}"/>
<property name="url" value="${db.url}"></property>
<property name="username" value="${db.username}"></property>
<property name="password" value="${db.userpasswd}"></property>
<property name="initialSize" value="${db.initalsize}"></property>
<property name="maxActive" value="${db.maxActive}"></property>
<property name="maxIdle" value="${db.maxIdle}"></property>
<property name="maxOpenPreparedStatements" value="${db.maxOpens}"></property>
<property name="maxWait" value="${db.maxWait}"></property>
</bean>
近期评论