解决了在Eclipse中导入Java项目无法运行的问题后(详情:https://www.jianshu.com/p/abd06822bb5d),现在可以继续学习Mybatis的内容。
问题:在Mybatis导入项目后,运行MyBatisTest.java想在数据库中添加数据。结果报错:java.sql.SQLException: Access denied for user '****'@'localhost' (using password: YES)
解决方法:修改mybatis-config.xml文件
#下面代码是mybatis-config.xml的部分内容,在配置数据库连接的时候有一些问题要注意,
#例如url指向之前在mysql中创建的数据库名(这里是mybatis),也即是说在mysql数据库中必须要先建好mybatis数据库。
#而mysql的username和password也不要搞错。我之前设置了密码,但是用户名还是沿用的root。
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="*****"/>
</dataSource>
正是因为username的名字搞错,之前报错如下:
注:***表示我之前配置时写错的用户名
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: java.sql.SQLException: Access denied for user '****'@'localhost' (using password: YES)
### Cause: java.sql.SQLException: Access denied for user '***'@'localhost' (using password: YES)
----下面内容省略---
修改文件后,问题解决。运行MyBatisTest.java成功在数据库中添加一条记录。
mysql> select * from tb_user;
+----+-------+------+------+
| ID | NAME | SEX | AGE |
+----+-------+------+------+
| 1 | admin | 鐢? | 26 |
+----+-------+------+------+
1 row in set (0.11 sec)
不过运行结果还存在乱码问题。主要因为项目在导入的时候就存在乱码问题,(沿着window----preference---workspace)可以发现Eclipse在windows系统下主要的编码方式为GBK。将其改为utf-8并保存。
问题解决:
mysql> select * from tb_user;
+----+-------+------+------+
| ID | NAME | SEX | AGE |
+----+-------+------+------+
| 1 | admin | 鐢? | 26 |
| 2 | admin | 男 | 26 |
+----+-------+------+------+
2 rows in set (0.03 sec)