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
私信
关注