码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-07-18 13:52:35      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

一、使用hibernate无法连接数据库的问题:

ERROR: HHH000231: Schema export unsuccessful

 (Access denied for user ‘root‘@‘192.168.1.109‘ (using password: NO))

at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)

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

标签:

原文地址:http://www.cnblogs.com/Learn-by-doing/p/4656739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!