com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:无法使用URL“192.168.1.133:3306”获取连接

时间:2017-11-04 14:44:33

标签: java mysql jdbc

我只是想尝试运行一个需要数据库连接的简单单元测试。

private static MysqlDataSource dataSource=new MysqlDataSource();

@BeforeEach
void setUpBefore() throws Exception {       
    dataSource.setURL("192.168.1.133:3306");
    dataSource.setUser("user");
    dataSource.setPassword("password");
}

在实际单元测试的后期

map=new MenuDAO(dataSource.getConnection()).getMenu(); //throws exception 

我确实有MySQL Workbench通过上述设置成功连接到MySQL数据库。但是当JUnit执行测试时,我得到以下异常。不知道为什么。

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Failed to get a connection using the URL '192.168.1.133:3306'.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
    at com.mysql.jdbc.Util.getInstance(Util.java:408)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:918)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:897)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:886)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
    at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:413)
    at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:136)
    at com.mysql.jdbc.jdbc2.optional.MysqlDataSource.getConnection(MysqlDataSource.java:107)
    at com.m2ii.MenuService.dao.test.MenuDAO_UT.testGetMenu(MenuDAO_UT.java:41)

1 个答案:

答案 0 :(得分:1)

setURL方法需要多一点。设为jdbc:mysql://192.168.1.133:3306