当前位置:Gxlcms > 数据库问题 > Hibernate连接数据库问题org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory

Hibernate连接数据库问题org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory

时间:2021-07-01 10:21:17 帮助过:3人阅读

at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)

配置如下

@Bean
	public DataSource dataSource(){
		BasicDataSource dataSource = new BasicDataSource();
		dataSource.setUrl("jdbc:mysql://localhost:3306/shopping");
		dataSource.setDriverClassName("com.mysql.jdbc.Driver");
	    dataSource.setUsername("root");
	    dataSource.setPassword("");
	    return dataSource;
	}

 也就是说hiberate将localhost解析成了192.168.1.109也就是电脑上面的ip,mysql会认为是远程的访问,但是mysql并没有配置这样的host;实际上mysql的配置中已经配置了localhost和127.0.0.1这样两种匹配方式。

 

那么为什么hibernate没有将localhost解析成127.0.0.1呢?

解决方案有很多种:

1. 修改hibernate配置为

jdbc:mysql://127.0.0.1:3306/shopping

2. 修改mysql

添加一个 192.168.1.109的ip权限

3. 如何通过修改mysql一次,之后hibernate使用localhost一直可以访问mysql, 我觉得可以建立一个中间层,用来匹配当前电脑的ip只要匹配,就可以登录

配置host为dongfusong.local,只要dongfusong.local可以动态的匹配电脑的ip就可以了。

 

Hibernate连接数据库问题org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory

标签:

人气教程排行