连接java到本地sql数据库

nue99wik  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(312)

我正在尝试将java应用程序连接到我在本地计算机上设置的sql数据库。没有服务器,所以我在试图研究它时找到的所有答案都不起作用或不适用。运行此命令时出现的错误是:
com.mysql.jdbc.exceptions.jdbc4.communicationsexception:通信链路故障
原因:java.net.connectexception:连接被拒绝:connect
我已经验证了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();    
    }
    }
}
plicqrtu

plicqrtu1#

你得把船开到左舷 String host= "jdbc:mysql://[myIPaddress]:[port]/MTGDatabase"; 并创建一个语句来执行查询 Statement stmt=con.createStatement();

vsmadaxz

vsmadaxz2#

将[myipaddress]替换为“127.0.0.1:3306”或localhost:3306". '“127.0.0.1”和“localhost”指的是您自己的本地计算机。3306是mqsql侦听新连接的端口。

String host = "jdbc:mysql://localhost:3306/MTGDatabase"; 

or

String host = "jdbc:mysql://127.0.0.1:3306/MTGDatabase";

这将解决您当前的问题:)
但在另一个节点上:
通过drivermanager获取数据库连接是一种非常古老的技术。更好的方法是使用数据源,或者通过查找已经为您配置的服务器容器:

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

相关问题