如何将Java连接到本地SQL数据库?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (286)

我正在尝试将Java应用程序连接到我在本地计算机上设置的SQL数据库。没有服务器,因此在尝试研究时找到的所有答案都不起作用或不适用,运行时得到的错误是:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败

引起:java.net.ConnectException:连接被拒绝:连接

我已验证SQL的用户名和密码,并验证该帐户具有完全管理员权限,该如何解决呢?

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

public class DBConnect {


    public static void main(String[] args) {
try{
        String host= "jdbc:mysql://[myIPaddress]/MTGDatabase";
       String uName = "Java";
       String uPass = "pass";
        Connection con = DriverManager.getConnection(host , uName, uPass );

    }  
    catch(Exception e){
    e.printStackTrace();    
    }
    }
}
提问于
用户回答回答于

需要放入端口String host= "jdbc:mysql://[myIPaddress]:[port]/MTGDatabase";

并创建一个Statement来执行查询Statement stmt=con.createStatement();

用户回答回答于

通过DriverManager获取数据库连接是一项相当古老的技术。更好的方法是使用DataSource,或者查看已经为您配置的服务器容器:

Context context = new InitialContext();
DataSource dataSource = (DataSource) context.lookup("java:comp/env/jdbc/MTGDatabase");

或直接从数据库驱动程序实例化和配置一个:

MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("Java");
dataSource.setPassword("pass");
dataSource.setServerName("localhost");

然后从上面获取连接,如上所述:

Connection conn = dataSource.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM MYTABLE");
...
rs.close();
stmt.close();
conn.close();

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动