数据库连接池如何使用?

chaser401 2016-04-12 03:20:01
最近在学习数据库操作,写了一个jdbc的程序,其中连接数据库的类代码如下:

package com.extend.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.sql.DataSource;

public class GetConn {
static Connection getConn() {

String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/tjm_test";
String username = "root";
String password = "";
Connection conn = null;
try {
Class.forName(driver); //classLoader,加载对应驱动
conn = (Connection) DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
想把这段代码用连接池Datasource代替,该怎么改,是用c3p0吗,注:我这是java project不是web程序
...全文
152 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 7 楼 chaser401 的回复:
[quote=引用 6 楼 chaser401 的回复:] [quote=引用 5 楼 qnmdcsdn 的回复:] 经测试没有问题,把你的jar换个路径试试,非中文的
我发现错在哪了,应该从lib文件夹导入,我是直接添加的,所以不行,但是出现了诸如:com.mchange.v2.log.MLog <clinit>此类的日志,而且sql语句都失效了,不知道为啥[/quote] 查到了是java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement cannot be cast to com.mysql.jdbc.PreparedStatement异常 [/quote] 引包的时候引错了吧
chaser401 2016-04-12
  • 打赏
  • 举报
回复
引用 6 楼 chaser401 的回复:
[quote=引用 5 楼 qnmdcsdn 的回复:] 经测试没有问题,把你的jar换个路径试试,非中文的
我发现错在哪了,应该从lib文件夹导入,我是直接添加的,所以不行,但是出现了诸如:com.mchange.v2.log.MLog <clinit>此类的日志,而且sql语句都失效了,不知道为啥[/quote] 查到了是java.lang.ClassCastException: com.mchange.v2.c3p0.impl.NewProxyPreparedStatement cannot be cast to com.mysql.jdbc.PreparedStatement异常
chaser401 2016-04-12
  • 打赏
  • 举报
回复
引用 5 楼 qnmdcsdn 的回复:
经测试没有问题,把你的jar换个路径试试,非中文的
我发现错在哪了,应该从lib文件夹导入,我是直接添加的,所以不行,但是出现了诸如:com.mchange.v2.log.MLog <clinit>此类的日志,而且sql语句都失效了,不知道为啥
  • 打赏
  • 举报
回复
经测试没有问题,把你的jar换个路径试试,非中文的
  • 打赏
  • 举报
回复
引用 2 楼 chaser401 的回复:
[quote=引用 1 楼 qnmdcsdn 的回复:] 这种东西,百度一下,还是很多的吧
网上的都是和tomcat挂钩的连接池的使用,需要在web.xml等进行配置,我这个只是java程序,用c3p0时 import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; 代码会报错,我应该把c3p0.jar包导到哪里呢 [/quote] 在build path里引入外部的jar包就可以吧
chaser401 2016-04-12
  • 打赏
  • 举报
回复
引用 3 楼 qnmdcsdn 的回复:
[quote=引用 2 楼 chaser401 的回复:]
[quote=引用 1 楼 qnmdcsdn 的回复:]
这种东西,百度一下,还是很多的吧


网上的都是和tomcat挂钩的连接池的使用,需要在web.xml等进行配置,我这个只是java程序,用c3p0时
import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mchange.v2.c3p0.DataSources;
代码会报错,我应该把c3p0.jar包导到哪里呢
[/quote]

在build path里引入外部的jar包就可以吧[/quote]

如图:
导入了还是不行
chaser401 2016-04-12
  • 打赏
  • 举报
回复
引用 1 楼 qnmdcsdn 的回复:
这种东西,百度一下,还是很多的吧
网上的都是和tomcat挂钩的连接池的使用,需要在web.xml等进行配置,我这个只是java程序,用c3p0时 import com.mchange.v2.c3p0.ComboPooledDataSource; import com.mchange.v2.c3p0.DataSources; 代码会报错,我应该把c3p0.jar包导到哪里呢
  • 打赏
  • 举报
回复
这种东西,百度一下,还是很多的吧

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧