环境
idea 2019
jdk1.8
maven3.6
spring boot2.1.1(目前springboot最高版本为2.1.8情况下,2.0以上测试过几个版本都可正常运行)
项目类型:jar
注意:spring boot自动配置的前提是>>所有组件都在核心启动类所在包及其子包下,所以本篇所有java类都是在核心类所在包及其子包下创建。
导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.17</version>
</dependency>
在核心配置文件中配置Druid数据源
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver # 数据库驱动
url: jdbc:mysql://localhost:3306/test # url
username: root # 账号
password: 159357 # 密码
type: com.alibaba.druid.pool.DruidDataSource # 数据源类型,这里指定为Druid数据源
注解开发:
1,在持久层接口上添加@Mapper接口
2,也可以在配置类上添加@MapperScan(“com.wn.demo.springboot.mapper”)注解,开启自动扫描,参数为包名
XML开发:
在核心配置文件中添加对应配置
# mybatis配置文件位置
mybatis:
# 指定mybatis核心配置文件
config-location: classpath:mybatis/mybatis-config.xml
# 指定mybatis mapper配置文件
mapper-locations: classpath:mybatis/mapper/*.xml
配置驼峰命名法的两种方式:
在核心配置文件中开启
mybatis:
configuration:
map-underscore-to-camel-case: true
通过自定义ConfigurationCustomizer配置,添加如下类:
package com.wn.demo.springboot.config;
import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.wn.demo.springboot.mapper")
public class MyBatisConfig {
/**
* mybatis配置驼峰命名法,自定义ConfigurationCustomizer注入到容器中
* @return
*/
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return new ConfigurationCustomizer() {
@Override
public void customize(org.apache.ibatis.session.Configuration configuration) {
// 开启驼峰命名法
configuration.setMapUnderscoreToCamelCase(true);
}
};
}
}
注意
使用XML方式配置后@Mapper和@MapperScan注解就会失效,需要在mybatis配置文件中指定要扫描的包。