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 参数”
请问哪里可以修改这个参数?
谢谢大家!! 展开
头次提问,谢谢大家!!
程序的要求是只要输入密码登陆后即使几小时不动再去使用程序也能使用,现在的情况是如果每隔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();
}
}
}
数据库名: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();
}
}
}
展开全部
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();
}
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();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有遇到这种问题,你这么说我还真觉得有点奇怪,也许是你程序其他地方出错了,建议 把代码张贴出来看看。。
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 - 如果发生数据库访问错误
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 - 如果发生数据库访问错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
服务器设置了 timeout 参数
这个问题比较麻烦的。
连接池有个测试并重新连接的参数,不过你的这种不适合。
你最简单的方法,就是每次使用的时候,获得链接,用完了马上关闭,下次用重新连接。
这个问题比较麻烦的。
连接池有个测试并重新连接的参数,不过你的这种不适合。
你最简单的方法,就是每次使用的时候,获得链接,用完了马上关闭,下次用重新连接。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议你不要将connection处于链接状态,而是在么次使用的时候创建,使用后主动销毁,不然的话,如果你考虑到创建链接没有性能的话,你可以使用连接池技术。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询