Springboot整合mybatis+mysql8+druid
踩了无数坑,最重要的一点: 引入的依赖一定要正确啊
我踩过的那些坑
1.mybatis写sql语句的.xml文件如果你是放在java目录下的。java目录下的xml资源在项目打包时会被忽略掉,所以记得在pom文件的build标签中加入以下代码:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
2.在application.properties配置文件中。应为这里使用了druid数据库连接池,在配置url,username等参数时,其前缀是
spring.datasource.druid
而不是
spring.datasource
3.在配置mysql的url的时候就照我的写吧,又时候你会因为时区(serverTimezone)啊,编码格式(characterEncoding)啊没配置导致连接数据库失败。(说多了都是泪啊)
spring.datasource.druid.url=jdbc:mysql://localhost:3306/learnjdbc?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true
4.因为使用的是Mysql8的版本,所以配置文件中driver-class-name是com.mysql.cj.jdbc.Driver而不是com.mysql.jdbc.Driver
依赖(pom.xml)
这里需要引入mybatis,mysql,druid的依赖(注意这里是针对Mysql8的版本)
<!--mysql依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!-- 阿里系的Druid依赖包 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
配置文件(application.properties)
#配置数据源
spring.datasource.druid.url=jdbc:mysql://localhost:3306/learnjdbc?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true
spring.datasource.druid.username=root
spring.datasource.druid.password=**********
spring.datasource.druid.driver-class-name=com.mysql.cj.jdbc.Driver