目录
第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装
第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看
第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口
目录
第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装
第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看
第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口
一、数据源-----配置数据源:(两种)
(1)数据源的自动配置-HikariDataSource
添加maven依赖:(版本号由SpringBoot自动版本仲裁)hikaricp(富士山)日本提供的数据源
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
在yml文件中进行配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: "jdbc:mysql://127.0.0.1:3306/2206_shop?serverTimezone=UTC"
hikari:
#必须填写
driver-class-name: "com.mysql.cj.jdbc.Driver"
username: "root"
password: "root"
#最大连接数
maximum-pool-size: 10
#最小连接数
minimum-idle: 5
#连接池名字
pool-name: TestHikaricp
(2)alibaba提供的Druid数据源
第一步:添加maven的相关启动场景
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<!--mysql连接驱动,版本有springBoot版本仲裁决定-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
第二步:配置yml文件
#基于 druid 的连接池
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
druid:
url: "jdbc:mysql://127.0.0.1:3306/2206_shop?serverTimezone=UTC"
username: "root"
password: "root"
#最大连接数
max-active: 10
#初始化连接数
initial-size: 3
#空闲时最小连接数
min-idle: 5
#添加过滤器 性能监控、防火墙、日志
filters: "stat,wall,slf4j"
#配置监控中心的过滤
web-stat-filter:
#打开过滤器
enabled: true
#指定过滤请求
url-pattern: "/*"
#排除过滤请求
exclusions: "/druid/**"
#监控 session 的个数
session-stat-enable: true
#配置监控界面
stat-view-servlet:
enabled: true
#访问监控界面的路径
url-pattern: "/druid/*"
#一键清空,测试环境中设置为true
reset-enable: false
#登录用户名和密码
login-username: "root"
login-password: "root"
#ip地址白名单
allow: "127.0.0.1"
#黑名单
#deny:
二、springBoot2整合MyBatis
第一步:在Maven中添加相关的依赖:(MybatisCodeHelperNew-2.8.9-183-204)插件可以逆向工程直接在idea中plugin中进行安装
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
第二步:yml对MyBatis进行配置:相关配置在自动配置类中可以进行查看
配置 private Configuration configuration; mybatis.configuration下面的所有,就是相当于改mybatis全局配置文件中的值
在配置类中进行mapper接口进行扫描或者在mapper接口上添加@Mapper注解进行注入
#MyBatis配置
mybatis:
#注册mapper.xml文件
mapper-locations: "classpath:/mapper/**/*"
#配置包的别名
type-aliases-package: "com.qf.ran.mybatis.entity"
#加载 Mybatis 的配置文件,不建议使用
#config-location: "classpath:mybatis-config.xml"
configuration:
#开启驼峰转换
map-underscore-to-camel-case: true
#开启二级缓存,默认为 false
#cache-enabled: true
第三步:注解开发
(可以不用创建xml配置文件)复杂的sql建议使用xml文件进行开发
@Mapper
public interface CityMapper {
@Select("select * from city where id=#{id}")
public City getById(Long id);
public void insert(City city);
}
第四步:总结
最佳实战:
- 引入mybatis-starter
- 配置application.yaml中,指定mapper-location位置即可
- 编写Mapper接口并标注@Mapper注解
- 简单方法直接注解方式
- 复杂方法编写mapper.xml进行绑定映射
- @MapperScan("com.atguigu.admin.mapper") 简化,其他的接口就可以不用标注@Mapper注解
三:SpringBoot2整合MyBatisPlus
注意、什么是MyBatis-Plus
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
建议安装 MybatisX 插件
第一步:添加maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
<-- <dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.2</version>
</dependency>-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
第二步:配置yml文件
#MyBatis plus 配置
mybatis-plus:
#classpath代表的是根目录,如果xml文件的父目录mapper不是在根目录下,需要该成 classpath*
#mapper-locations: "classpath*:mapper/**/*.xml"
#mybatis plus 配置
global-config:
db-config:
#全局的表都会添加前缀
#需要类中的注解开启 @TableName(keepGlobalPrefix = true)
#table-prefix: "u_"
#全局逻辑删除,需要命名规范
logic-delete-field: "is_delete"
logic-delete-value: "0"
logic-not-delete-value: "1"
#全局雪花算法
#当服务器重启的时候,会出现一秒的校验时间的过程(时钟回拨),这一秒可能会出现重复的id
id-type: assign_id
第三步:所有的mapper接口实现MybatisPlus 提供的BeanMapper接口
自动配置
- MybatisPlusAutoConfiguration 配置类,MybatisPlusProperties 配置项绑定。mybatis-plus:xxx 就是对mybatis-plus的定制
- SqlSessionFactory 自动配置好。底层是容器中默认的数据源
- mapperLocations 自动配置好的。有默认值。classpath*:/mapper/**/*.xml;任意包的类路径下的所有mapper文件夹下任意路径下的所有xml都是sql映射文件。 建议以后sql映射文件,放在 mapper下
- 容器中也自动配置好了 SqlSessionTemplate
- @Mapper 标注的接口也会被自动扫描;建议直接 @MapperScan("com.atguigu.admin.mapper") 批量扫描就行
优点:MyBatisPlus提供了单表的增删改查 只需要实现BeanMapper<T>就扣就行
四:MyBatisPlus中的常用注解:
(见MyBatisPlus专栏)