SpringBoot+MyBatis
简述
mysql是应用很广泛的数据库,MyBatis框架操作mysql是很常用手段,故此处简单介绍一下基础搭建
pom.xml核心依赖
pom.xml的SpringBoot+MyBatis一些依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>2.3.5.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
<!-- 该依赖,集成了swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!-- 方便一些编码操作,可以不加 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.20</version>
</dependency>
</dependencies>
启动小技巧
有时候,可能功能比较简单,需要应用启动,但是不自动加载mysql,可以在注解@SpringBootApplication排除掉Mysql的启动类,写法如下
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class MybatisApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisApplication.class, args);
}
}
需要注意的是,注解SpringBootApplication和EnableAutoConfiguration同时存在,则排除类放在EnableAutoConfiguration,或者删除EnableAutoConfiguration注解也行
@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
yml添加连接地址
spring:
datasource:
url: jdbc:mysql://10.9.66.37:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: admin
password: admin
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
hikari:
connection-test-query: SELECT 1
connection-init-sql: SELECT 1
idle-timeout: 600000
maximum-pool-size: 10
minimum-idle: 10
需要注意的地方是时区,serverTimezone=Asia/Shanghai,由于大部分是在国内,所以时区选在了上海,若是有国际化需求,应设置为serverTimezone=UTC
新电脑拉取代码
可能会启动报错如下:
Description:
Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
把项目下的resources设置为源 根,即不设置前,IDEA对该文件显示普通文件夹,而设置后,则显示蓝色图标