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

2024-12-30 05:50:06
推荐回答(5个)
回答1:

连接不上的话应该是代码写的有问题,可参考下面例子中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();
}
}
}

回答2:

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();
}

回答3:

没有遇到这种问题,你这么说我还真觉得有点奇怪,也许是你程序其他地方出错了,建议 把代码张贴出来看看。。
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 - 如果发生数据库访问错误

回答4:

服务器设置了 timeout 参数

这个问题比较麻烦的。

连接池有个测试并重新连接的参数,不过你的这种不适合。
你最简单的方法,就是每次使用的时候,获得链接,用完了马上关闭,下次用重新连接。

回答5:

建议你不要将connection处于链接状态,而是在么次使用的时候创建,使用后主动销毁,不然的话,如果你考虑到创建链接没有性能的话,你可以使用连接池技术。