ERROR com.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:mysql://132.232.19.60:3306/zhiping?characterEncoding=utf8&useSSL=false, errorCode 1045, state 28000
今天一直被这个问题困扰,确定数据库地址,密码账户正确的情况下,始终是找不到问题的原因(运行的时候一直循环报如下错误)弄得头大
代码
DruidDataSource druidDataSource =new DruidDataSource();
{
druidDataSource.setUrl("jdbc:mysql://132.232.19.60:3306/zhiping?characterEncoding=utf8&useSSL=false");
druidDataSource.setName("*****");
druidDataSource.setPassword("***********");
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
}
@Test
public void testJdbcShiro() {
JdbcRealm jdbcRealm=new JdbcRealm();
jdbcRealm.setDataSource(druidDataSource);
//创建securityManager环境
DefaultSecurityManager defaultSecurityManager=new DefaultSecurityManager();
defaultSecurityManager.setRealm(jdbcRealm);
//主动请求认证
SecurityUtils.setSecurityManager(defaultSecurityManager);
Subject subject=SecurityUtils.getSubject();
UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("admin","123456");
subject.login(usernamePasswordToken);
System.out.print(subject.isAuthenticated());
}
后面仔细对了代码之后发现
druidDataSource.setName("*****");
这句代码明显错误,正确的应该是掉用setUserName(); 这个方法
druidDataSource.setUserName("*****");
于是问题解决,也是就是一些不仔细导致是问题