在pom.xml
文件的<dependencies>
标签内添加:
<!-- Mybatis整合Spring Boot的依赖项 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!-- MySQL的依赖项 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
当添加数据库编程的依赖项(以上的mybatis-spring-boot-starter
)后,无论是测试,还是尝试启动项目,都会报错:
Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
这是因为在执行Spring Boot测试,或启动项目时,只要项目中添加了数据库编程的依赖,就会自动读取连接数据库的配置,但是,目前还没有添加这些配置,所以报错!
在src/main/resources
下的application.properties
中添加连接数据库的配置信息,此配置文件是Spring Boot项目默认的主配置文件。
添加的配置信息如下:
# 连接数据库的配置
spring.datasource.url=jdbc:mysql://localhost:3306/mall_pms?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
注意:添加以上配置后,无论是启动项目,还是执行Spring Boot测试,都不会报告错误,但是,本质上只是读取了以上配置,并不代表以上配置是正确的!
可以在Spring Boot测试类中添加测试方法,以检验以上配置是否正确:
@Autowired
DataSource dataSource; // 数据源,导包时使用java.sql包
@Test
void getConnection() throws Throwable {
dataSource.getConnection(); // 获取与数据库的连接对象,会执行连接到数据库的操作
}
如果配置信息中,连接数据库的URL中的主机名错误,则会出现:
Caused by: java.net.UnknownHostException: localhast
如果配置信息中,连接数据库的端口号错误,导致无法连接上,则会出现:
Caused by: java.net.ConnectException: Connection refused: connect
另外,如果MySQL服务没有启动,也会导致以上错误!
如果配置信息中,数据库名称错误,则会出现:
java.sql.SQLSyntaxErrorException: Unknown database 'm0ll_pms'
如果配置信息中,服务器时区值错误,则会出现:
Caused by: java.time.zone.ZoneRulesException: Unknown time-zone ID: Asia/Beijing
如果配置信息中,连接数据库的用户名或密码错误,则会出现:
java.sql.SQLException: Access denied for user 'root1234'@'localhost' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)