目录
2.3 MapperScanner 参数: basePackage
1.导入依赖
1.1 连接依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
1.2 mybatis依赖
导入依赖: 先导入starter,没有starter才导入直接依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
2.mybatis跟spring整合
2.1 DataSource(数据源)的bean
在application.yml中配置数据源中数据库的四大参数,springboot自动配置DataSource的bean,启动时,自动注入bean 。
#数据源
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/userdb?serverTimezone=Asia/Shanghai
username: root
password: 123
2.2 SqlSessionFactoryBean
springboot自动配置SqlSessionFactoryBean,启动时,自动注入bean 。
2.3 MapperScanner 参数: basePackage
在application.yml文件中配置mapper接口的映射文件的包扫描和实体类别名的扫描包,在程序启动时,springboot会根据这些配置自动扫描这些包下的类和文件。
#mybatis参数
mybatis:
mapper-locations: classpath*:mapper/*Mapper.xml
type-aliases-package: com.fs.pojo
除了配置basePackage,启动时会报错,因为没有扫描mapper接口,扫描接口有三种方式:
(1)在springboot启动类上加@MapperScan注解并配置对应的路径,springboot在启动时会扫描该包下的所有接口。
(2)在每个接口上加@Mapper注解,表示其是mapper接口,在springboot启动时,会自动扫描并识别该接口。
(3)配置配置类来扫描mapper接口
在实现mapper接口扫描时,会出现注入的mapper的bean会标红,因为这是idea的误报
我们可以使用@Repository注解来解决这个问题,但@Repository注解无任何意义
2.4 静态资源虚拟路径的配置
在SSM框架中,如果我们要给一些静态资源的访问放行,就要配置虚拟路径来访问该静态资源,因为SSM框架使用的时外部的tomcat,可以在配置tomcat时,配置静态资源的虚拟路径。而springboot内嵌tomcat,因此我们不能在配置tomcat时,配置虚拟路径,我们可以配置配置类来配置虚拟路径。
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/img/**").addResourceLocations("file:D:/img/");
}
3.整合Druid
Hikari连接池, 使用阿里的Druid,配置方式有三种
3.1 添加非官方的Druid配置
这种方式无法对Druid进行相关配置,不推荐。
(1)添加依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
(2)指定数据源类型
3.2 添加springboot官方的依赖
推荐使用这种方式
(1)添加依赖
(2)配置application.yml
3.3 自定义配置类, 创建DataSource的Bean
package com.fs.config;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceWrapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.sql.DataSource;
@Configuration
public class DruidDataSourceConfig {
@Bean
public DataSource dataSource(){
System.out.println("==============");
return new DruidDataSourceWrapper();
}
}