作者:lxm淡淡嘚甜_671 | 来源:互联网 | 2023-09-13 16:20
SpringBoot & MybatisPlus 整合
步骤
1.导入依赖
<project xmlns&#61;"http://maven.apache.org/POM/4.0.0"xmlns:xsi&#61;"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&#61;"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0modelVersion><groupId>com.demogroupId><artifactId>MybatisPlusDemoartifactId><version>1.0-SNAPSHOTversion><properties><project.build.sourceEncoding>UTF-8project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding><java.version>1.8java.version><mybatis.plus.version>3.1.0mybatis.plus.version><maven.compiler.source>1.8maven.compiler.source><maven.compiler.target>1.8maven.compiler.target><spring.boot.version>2.1.0.RELEASEspring.boot.version><mysql.version>8.0.21mysql.version><hutool.version>5.4.5hutool.version><guava.version>29.0-jreguava.version><user.agent.version>1.20user.agent.version>properties><dependencies><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starterartifactId><version>2.1.0.RELEASEversion>dependency><dependency><groupId>com.baomidougroupId><artifactId>mybatis-plus-boot-starterartifactId><version>${mybatis.plus.version}version>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-testartifactId><version>2.1.0.RELEASEversion><scope>testscope>dependency><dependency><groupId>mysqlgroupId><artifactId>mysql-connector-javaartifactId><version>${mysql.version}version>dependency><dependency><groupId>cn.hutoolgroupId><artifactId>hutool-allartifactId><version>${hutool.version}version>dependency><dependency><groupId>com.google.guavagroupId><artifactId>guavaartifactId><version>${guava.version}version>dependency><dependency><groupId>org.projectlombokgroupId><artifactId>lombokartifactId><version>1.18.16version><optional>trueoptional>dependency><dependency><groupId>org.yamlgroupId><artifactId>snakeyamlartifactId><version>1.27version>dependency><dependency><groupId>junitgroupId><artifactId>junitartifactId><version>4.13.1version><scope>testscope>dependency><dependency><groupId>junitgroupId><artifactId>junitartifactId><version>4.12version><scope>testscope>dependency>dependencies><build><finalName>demo-orm-mybatis-plusfinalName><plugins><plugin><groupId>org.springframework.bootgroupId><artifactId>spring-boot-maven-pluginartifactId>plugin>plugins>build>project>
2.编写yml文件
spring:datasource:url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode&#61;true&characterEncoding&#61;UTF-8&useSSL&#61;false&autoReconnect&#61;true&failOverReadOnly&#61;false&serverTimezone&#61;GMT%2B8username: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Drivertype: com.zaxxer.hikari.HikariDataSourceinitialization-mode: alwayshikari:minimum-idle: 5connection-test-query: SELECT 1 FROM DUALmaximum-pool-size: 20auto-commit: trueidle-timeout: 30000pool-name: SpringBootDemoHikariCPmax-lifetime: 60000connection-timeout: 30000
logging:level:com.demo: debugcom.demo.wzr.mybatis.plus.mapper: trace
mybatis-plus:mapper-locations: classpath:mappers/*.xmltypeAliasesPackage: com.demo.orm.mybatis.plus.entityglobal-config:db-config:id-type: autofield-strategy: not_emptytable-underline: truedb-type: mysqlrefresh: trueconfiguration:map-underscore-to-camel-case: truecache-enabled: true
3.编写配置类
*** &#64;author WenZiR* &#64;projectName MybatisPlusDemo* &#64;description: TODO* &#64;date 2022-03-31 22:42*/
&#64;Configuration
&#64;MapperScan(basePackages &#61; {"com.demo.wzr.mybatis.plus.mapper"})
&#64;EnableTransactionManagement
public class MybatisPlusConfig {&#64;Beanpublic PerformanceInterceptor performanceInterceptor() {return new PerformanceInterceptor();}&#64;Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}
}
4.测试
&#64;SpringBootTest
&#64;RunWith (SpringRunner.class)
&#64;Slf4j
public class UserServiceImplTest {&#64;Testpublic void testActiveRecordInsert() {User admin &#61; User.builder ().id(1L).name ("admin").password ("admin").salt (SecureUtil.md5 ("admin")).phoneNumber("158****1").status (1).lastLoginTime (new Date ()).lastUpdateTime (new Date ()).email ("xxxxxxqq.com").createTime (new Date ()).build ();Assert.assertTrue(admin.insertOrUpdate ());log.debug("【role】&#61; {}", admin);}}
5.结果