java中的DriverManager.getConnection数据库连接问题

本人写了一个小的swt程序,我用Connectionconnection=DriverManager.getConnection(url,user,pw)...连接mys... 本人写了一个小的swt程序,我用Connection connection = DriverManager.getConnection(url,user,pw)...连接mysql数据库,可是这个Connection只能保持几分钟,然后连接就断开了,请教下大家有什么办法连上数据库后更久时间保持连接状态?
头次提问,谢谢大家!!
程序的要求是只要输入密码登陆后即使几小时不动再去使用程序也能使用,现在的情况是如果每隔1、2分钟去使用一下还是可以保持连接的,时间间隔久了再去使用程序就会出错,需要重新连接数据库。
to java2000_net - 总监 九级:“服务器设置了 timeout 参数”
请问哪里可以修改这个参数?
谢谢大家!!
展开
 我来答
千锋教育
2015-12-20 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
连接不上的话应该是代码写的有问题,可参考下面例子中DriverManager.getConnection的写法:
数据库名:select_test
用户名:root
密码:123456
连接成功后显示teacher_table表中的数据。
import java.sql.*;
class ConnMySql {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306lect_test",
"root","123456");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from teacher_table");
while (rs.next()) {
System.out.println(rs.getInt(1) + "\t"
+rs.getString(2) + "\t"
+rs.getString(3) );
}
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
}
lupeng0527
2008-10-27 · TA获得超过883个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:230万
展开全部
mysql好像不用这样设置,可能是你的数据库或者别的地方出错
private String driver="org.gjt.mm.mysql.Driver";
private String URL="jdbc:mysql://localhost/DataBase_Name";
private String username="root";
private String password="root";
Connection conn=null;

try{
Class.forName(driver);
System.out.println("驱动接口程序连接成功!!!");
}catch(Exception e){
System.out.println("驱动接口程序连接失败!!!"+driver);
e.printStackTrace();
}

try{
conn=DriverManager.getConnection(URL,username,password);
if(!conn.isClosed()){
System.out.println("连接DB成功!!!");
}
}catch(Exception ex){
System.out.println("连接DB失败!!!"+driver);
ex.printStackTrace();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友eeb8fa8
2008-10-27 · 超过19用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:21.4万
展开全部
没有遇到这种问题,你这么说我还真觉得有点奇怪,也许是你程序其他地方出错了,建议 把代码张贴出来看看。。
getConnection
public static Connection getConnection(String url,
String user,
String password)
throws SQLException试图建立到给定数据库 URL 的连接。DriverManager 试图从已注册的 JDBC 驱动程序集中选择一个适当的驱动程序。

参数:
url - jdbc:subprotocol:subname 形式的数据库 url
user - 数据库用户,连接是为该用户建立的
password - 用户的密码
返回:
到 URL 的连接
抛出:
SQLException - 如果发生数据库访问错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
好大木头
2008-10-27 · TA获得超过1434个赞
知道大有可为答主
回答量:1705
采纳率:0%
帮助的人:1935万
展开全部
服务器设置了 timeout 参数

这个问题比较麻烦的。

连接池有个测试并重新连接的参数,不过你的这种不适合。
你最简单的方法,就是每次使用的时候,获得链接,用完了马上关闭,下次用重新连接。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九书
2008-10-27 · TA获得超过418个赞
知道小有建树答主
回答量:374
采纳率:100%
帮助的人:95万
展开全部
建议你不要将connection处于链接状态,而是在么次使用的时候创建,使用后主动销毁,不然的话,如果你考虑到创建链接没有性能的话,你可以使用连接池技术。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式