DBCP出现的问题

DBCP出现的问题

1.首先要导包:
DBCP出现的问题
第一个是commons-dbcp-1.4.jar
第二个是commons-pool-1.5.6.jar

正确的使用DBCU的代码配置

package com.itheima.dbcp;

import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.apache.commons.dbcp.BasicDataSource;

import com.itheima.util.JDBCUtil;
import com.mysql.jdbc.Connection;

public class DBCPTest {
public static void main(String[]args) {
	
		java.sql.Connection conn=null;
		PreparedStatement ps=null;
		
	try {
		//参加连接数据对象
		BasicDataSource dataSource = new BasicDataSource();
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
	    dataSource.setUrl("jdbc:mysql://localhost:3306/stus");
		dataSource.setUsername("root");
		dataSource.setPassword("2468");
		//得到连接对象
		 conn= dataSource.getConnection();
		 //得要秘钥
		 //com.mysql.jdbc.Driver
		 //jdbc:mysql://localhost:3306/stus
		String sql="insert into user values(null,?,?)";
		ps = conn.prepareStatement(sql);
		ps.setString(1, "LISI");
		ps.setInt(2, 1234);
		ps.executeUpdate();
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}finally {
		JDBCUtil.release(conn, ps);
	}
}
}

出现的问题是

Exception in thread “main” java.lang.ClassCastException: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper cannot be cast to com.mysql.jdbc.Connection
at com.itheima.dbcp.DBCPTest.main(DBCPTest.java:25)
由于转换的原因,类型转换不对,错误的代码如下

Connection conn=null;
//得到连接对象
		 conn= (Connection) dataSource.getConnection();

解决的办法是
:重新转化类型

          java.sql.Connection conn=null;
	      //得到连接对象
		 conn= dataSource.getConnection();
DBCP出现的问题DBCP出现的问题 weixin_42861101 发布了3 篇原创文章 · 获赞 0 · 访问量 20 私信 关注
上一篇:方法(函数),重载


下一篇:数据库连接池详解:原理+常用连接池