其他分享
首页 > 其他分享> > DBCP出现的问题

DBCP出现的问题

作者:互联网

DBCP出现的问题

1.首先要导包:
导包有两个
第一个是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();
weixin_42861101 发布了3 篇原创文章 · 获赞 0 · 访问量 20 私信 关注

标签:ps,jdbc,出现,DBCP,问题,dataSource,mysql,com,conn
来源: https://blog.csdn.net/weixin_42861101/article/details/104431855