项目场景:
项目相关背景:
通过SSM框架搭建仿牛客网论坛项目。在Spring中整合MyBatis,并通过MyBatis操作MySQL数据库community中的表user。
已经引入相应的依赖,在entity下构建对应的实体类User存放user表中的所有字段,并添加对应的get和set方法、toString()方法;创建dao层的接口UserMapper,在UserMapper接口中声明需要使用的数据库操作方法;在mapper下新建对应的Mapper文件UserMapper.xml。
以上编写完毕后,编写测试类进行测试。
public class MapperTests {
@Autowired
private UserMapper userMapper;
@Test
public void testSelectUser(){
User user = userMapper.selectById(101);
System.out.println(user);
}
}
问题描述
项目中遇到的问题:
就非常的无语。但是我忘记截图了。。。文字记录一下吧。
问题1:
Access denied for user 'root'@'localhost' (using password: YES)
经过我不懈的百度,ERROR变成了如下,
问题2:
Unknown database 'community'
再次经过我不懈的百度,ERROR又变成了如下,
问题3:
Could not create connection to database server.
再然后我又去修改了application.properties
文件中url
为serverTimeZone=UTC
,运行一下MapperTests
,居然莫名其妙的成功了!我也还不知道为啥。
原因分析:
对于问题1:我找了很多参考方案,主要是说配置文件
.properties
或者.yml
中的username
和password
设置出现问题。之前通过workbench远程连接数据库时,由于当时不会修改root用户的Host
值为%
,所以新建了一个rootnew用户,通过rootnew成功连上了数据库,这次出现问题我首先觉得是不是因为这个rootnew用户的关系,于是我卸载了MySQL,重装。并修改了root的用户的Host
值为%
。然后按照各种参考解决方案反复的修改spring.datasource.url
。功夫不负有心人,变成了新的问题2.
# DataSourceProperties
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/community?characterEncoding=utf-8&useSSL=false&serverTimezone=HongKong
spring.datasource.username=root
spring.datasource.password=root
对于问题2:我参考了
http://t.csdn.cn/a4dlB
,之后重启了mysql,重启了电脑。然后变成了问题3。。。
对于问题3:我又修改了
url
中的serverTimezone=UTC
,然后 就可以了。
总结:
我也没法总结了。莫名其妙的就好了。
总之,要走的路还很长。Be patience, and work harder!
第一次解决问题、记录问题,无论是排版还是内容都还有很多不足之处,多多努力~