马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
媒介
在上期内容中,我们详细先容了怎样举行项目初始化,包罗添加 MyBatis Plus 依靠、设置数据库毗连,以及创建根本的实体类和 Mapper 接口。这些步调为我们搭建了一个根本的开发框架,使我们可以大概快速上手 MyBatis Plus 的开发工作。
本期内容将继续深入,重点先容 MyBatis Plus 的根本设置。我们将设置 MyBatis Plus 焦点插件(如分页插件、乐观锁插件等),并设置日志 和性能分析,以确保项目在开发和运行中的高效性和可靠性。
一、设置分页插件
分页是处置处罚大量数据时常用的功能。MyBatis Plus 提供了分页插件,简化了分页利用的实现。
- 创建设置类:
- 在 src/main/java/com/example/mybatisplusdemo/config 目次下创建 MyBatisPlusConfig 类:
- package com.example.mybatisplusdemo.config;
- import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- @Configuration
- public class MyBatisPlusConfig {
- @Bean
- public PaginationInterceptor paginationInterceptor() {
- return new PaginationInterceptor();
- }
- }
复制代码
- 设置分析:
- PaginationInterceptor:这是 MyBatis Plus 提供的分页拦截器,它会自动辨认数据库范例并天生相应的分页 SQL。
二、设置乐观锁插件
乐观锁是一种在并发环境下处置处罚数据划一性的机制。MyBatis Plus 提供了乐观锁插件,简化了乐观锁的实现。
- 在 MyBatisPlusConfig 类中添加乐观锁插件设置:
- @Bean
- public OptimisticLockerInterceptor optimisticLockerInterceptor() {
- return new OptimisticLockerInterceptor();
- }
复制代码 - 使用乐观锁注解:
- 在实体类中添加 @Version 注解,指定乐观锁版本字段:
- package com.example.mybatisplusdemo.entity;
- import com.baomidou.mybatisplus.annotation.TableId;
- import com.baomidou.mybatisplus.annotation.TableName;
- import com.baomidou.mybatisplus.annotation.Version;
- import lombok.Data;
- @Data
- @TableName("user")
- public class User {
- @TableId
- private Long id;
- private String name;
- private Integer age;
- private String email;
- @Version
- private Integer version;
- }
复制代码
三、设置性能分析插件
在开发过程中,我们必要相识 SQL 语句的实行性能,以便举行优化。MyBatis Plus 提供了性能分析插件,资助我们分析和优化 SQL 性能。
- 在 MyBatisPlusConfig 类中添加性能分析插件设置:
- import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
- import org.springframework.context.annotation.Profile;
- @Bean
- @Profile({"dev", "test"}) // 设置 dev 和 test 环境开启
- public PerformanceInterceptor performanceInterceptor() {
- PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
- performanceInterceptor.setMaxTime(1000); // ms,超过此设置的ms则sql不执行
- performanceInterceptor.setFormat(true);
- return performanceInterceptor;
- }
复制代码 - 设置分析:
- @Profile({"dev", "test"}):指定该设置仅在开发和测试环境下启用。
- PerformanceInterceptor:设置 SQL 实行的最大时间,假如凌驾这个时间,SQL 不会实行,而且会输特别式化的 SQL 语句。
四、日志 设置
为了便于调试和分析,我们必要设置项目的日志 输出。
- 设置日志级别:
- 在 application.yml 文件中添加日志设置:
- logging:
- level:
- com.example.mybatisplusdemo: debug
- com.baomidou.mybatisplus: debug
复制代码
- 使用 logback 设置日志输特别式:
- 在 src/main/resources 目次下创建 logback-spring.xml 文件,并添加以下设置:
- <configuration>
- <property name="LOG_FILE" value="mybatis-plus-demo.log"/>
- <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_FILE}</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
- </rollingPolicy>
- <encoder>
- <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
- </encoder>
- </appender>
- <root level="info">
- <appender-ref ref="FILE" />
- </root>
- </configuration>
复制代码
五、测试设置
为了确保我们的设置精确,我们必要举行一些根本的测试。
- 测试分页功能:
- 在 UserMapperTest 中添加分页测试:
- @Test
- public void testSelectPage() {
- Page<User> page = new Page<>(1, 5);
- IPage<User> userPage = userMapper.selectPage(page, null);
- assert userPage.getRecords().size() == 5;
- }
复制代码
- 测试乐观锁功能:
- 在 UserMapperTest 中添加乐观锁测试:
- @Test
- public void testOptimisticLock() {
- User user = userMapper.selectById(1L);
- user.setAge(user.getAge() + 1);
- userMapper.updateById(user);
- }
复制代码
- 测试性能分析插件:
- 观察控制台输出,确保 SQL 语句格式化且实行时间在预期范围内。
六、总结
通过本篇文章,你已经学会了怎样设置 MyBatis Plus 的分页插件、乐观锁插件和性能分析插件,并设置了日志输出。这些设置不光进步了项目的开发服从,还为后续的开发和调试提供了便利。
下期预告
在下一期内容中,我们将深入探究怎样创建实体类和 Mapper 接口。这些实体类将映射到数据库表,而 Mapper 接口则提供与数据库交互的方法。通过这些步调,你将学会怎样将数据库表布局映射到 Java 对象,并实现对数据库的根本利用。敬请等待!
通过这些根本设置和测试,我们为 MyBatis Plus 项目的进一步开发奠基了结实的根本。渴望你在学习过程中能有所劳绩,并应用到现实项目中。让我们继续这段学习之旅吧!
|