SpringBoot多模块项目MybatisPlus配置

项目目录

主模块配置 

配置类

@Configuration
@EnableTransactionManagement
@MapperScan("com.sms.**.mapper")
public class MybatisPlugConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return mybatisPlusInterceptor;}/*** fix : No MyBatis mapper was found in '[xx.mapper]' package. Please check your configuration*/@Mapperpublic interface NoWarnMapper {}
}

启动类

@ComponentScan("com.sms.*")
@SpringBootApplication
@Controller
public class SmsAdminApplication {public static void main(String[] args) {SpringApplication.run(SmsAdminApplication.class, args);}@GetMapping("/message")public String message() {return "message";}
}

yml

# Spring配置
spring:jackson:#参数意义:#JsonInclude.Include.ALWAYS              默认#JsonInclude.Include.NON_DEFAULT     属性为默认值不序列化#JsonInclude.Include.NON_EMPTY         属性为 空(””) 或者为 NULL 都不序列化#JsonInclude.Include.NON_NULL           属性为NULL   不序列化default-property-inclusion: NON_NULLdate-format: yyyy-MM-dd HH:mm:sstime-zone: Asia/Shanghaiserialization:WRITE_DATES_AS_TIMESTAMPS: falseFAIL_ON_EMPTY_BEANS: falseprofiles:active: druidmvc:path match:matching-strategy: ant_path_matcherthymeleaf:mode: HTML5suffix: .htmlencoding: UTF-8cache: false# 服务模块devtools:restart:# 热部署开关enabled: trueknife4j:enable: truelogging:level:com.sms.admin: debugfile:name: "./logs/sms-admin.log"logback:rollingpolicy:max-history: 30max-file-size: 50MBtotal-size-cap: 5GBmybatis-plus:mapper-locations: classpath*:com/sms/**/mapper/xml/*.xml#实体扫描,多个package用逗号或者分号分隔typeAliasesPackage: com.sms.**.entity# 以下配置均有默认值,可以不设置global-config:#刷新mapper 调试神器refresh: truedb-config:id-type: auto#驼峰下划线转换tableUnderline: true#数据库大写下划线转换capital-mode: truewhere-strategy: not_emptybanner: falseconfiguration:# 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射map-underscore-to-camel-case: true#二级缓存cache-enabled: false#延时加载的开关lazyLoadingEnabled: trueaggressiveLazyLoading: true#开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性multipleResultSetsEnabled: true#关闭sql打印
#    log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpllog-impl: org.apache.ibatis.logging.stdout.StdOutImpl

pom

根目录

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sms</groupId><artifactId>sms</artifactId><version>0.0.1</version><name>···</name><description>···</description><properties><simulationMasterStation.version>0.0.1</simulationMasterStation.version><java.version>11</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.7.6</spring-boot.version></properties><dependencyManagement><dependencies><!-- 主模块--><dependency><groupId>com.sms</groupId><artifactId>sms-admin</artifactId><version>${simulationMasterStation.version}</version></dependency><!-- 子模块--><dependency><groupId>com.sms</groupId><artifactId>···</artifactId><version>${simulationMasterStation.version}</version></dependency></dependencies></dependencyManagement><modules><module>sms-admin</module><module>···</module></modules><packaging>pom</packaging><dependencies></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin></plugins></build>
</project>

 主模块

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><groupId>com.sms</groupId><artifactId>sms</artifactId><version>0.0.1</version></parent><modelVersion>4.0.0</modelVersion><name>sms-admin</name><description>sms-admin</description><packaging>jar</packaging><artifactId>sms-admin</artifactId><properties><java.version>11</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.7.6</spring-boot.version></properties><dependencies><!-- 子模块--><dependency><groupId>···</groupId><artifactId>···</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><configuration><mainClass>com.sms.admin.SmsAdminApplication</mainClass></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.1.0</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml><warName>${project.artifactId}</warName></configuration></plugin></plugins><finalName>${project.artifactId}</finalName></build>
</project>

后记

classpath和classpath*的区别

classpath:只会到你的class路径中查找找文件。

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找。

注意: 用classpath*:需要遍历所有的classpath,所以加载速度是很慢的;因此,在规划的时候,应该尽可能规划好资源文件所在的路径,尽量避免使用classpath*。  

mapper-locations配置方式

方式一:放在Mapper目录下

yml

mybatis-plus:mapper-locations: classpath*:com/sms/**/mapper/xml/*.xml

pom

    <build><resources><!-- 扫描src/main/java下所有xx.xml文件 --><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>

方式二:放在resource下

yml

# mybatis-plus相关配置
mybatis-plus:# xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)mapper-locations: classpath*:mybatis/*Mapper.xml

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/701664.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最佳实践 | 用HelpLook构建一体化企业知识中台

企业知识中台是内容与数据的双向交流的重要载体&#xff0c;它不仅能够让企业的内容说话&#xff0c;也能够倾听和分析数据。 你是否因寻找建立企业内部知识库/知识中台和说明文档平台的合适工具而苦恼&#xff1f;HelpLook数字内容平台正是你的理想之选。该平台以其简洁且用户…

JSPfilters过滤技术

1.创建动态web项目 2.创建filters的文件 3.创建主页面 4.配置xml项目 总结构 主页面代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html><html><head><meta cha…

MYDB运行环境的搭建

前言 再将该项目跑起来之前&#xff0c;我想你的环境应该是准备的差不多啦&#xff01;只需要稍稍的配置一下即可。 我在本地已经跑通了&#xff0c;说是兼容JDK8&#xff0c;但我本地刚好有11就用了11啦&#xff0c;跑起来的方法在仓库的 readme 里写的很清楚。 在运行mvn c…

springcloud简单了解及上手

springcloud微服务框架简单上手 文章目录 springcloud微服务框架简单上手一、SpringCloud简单介绍1.1 单体架构1.2 分布式架构1.3 微服务 二、SpringCloud与SpringBoot的版本对应关系2022.x 分支2021.x 分支2.2.x 分支 三、Nacos注册中心3.1 认识和安装Nacos3.2 配置Nacos3.3 n…

银行核心背后的落地工程体系丨混沌测试的场景设计与实战演练

本文作者&#xff1a; 张显华、窦智浩、卢进文 与集中式架构相比&#xff0c;分布式架构的系统复杂性呈指数级增长&#xff0c;混沌工程在信创转型、分布式架构转型、小机下移等过程中有效保障了生产的稳定性。本文分享了 TiDB 分布式数据库在银行核心业务系统落地中进行混沌测…

基于yolov2深度学习网络的单人口罩佩戴检测和人脸定位算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ..............................................................I0 imresize…

Uncaught InternalError: too much recursion

今天在敲代码的时候偶然间发现项目因为一次操作导致浏览器变得非常卡&#xff0c;而且控制台还报错了 Uncaught InternalError: too much recursior 页面截图如下 &#xff1a; 突如起来的报错和页面异常卡顿给我整不会了ovo&#xff0c;点开报错的地方&#xff0c;直接跳转到对…

数据丢失了!如何恢复手机数据?

“下雨天手机丢失了&#xff0c;找回来的时候以前的数据都丢失了&#xff0c;也不知道发生了什么&#xff01;全都是重要的数据和回忆&#xff0c;丢失后给我带来了不少麻烦&#xff0c;有没有办法能够帮我找回手机里的数据啊&#xff1f;” 随着智能手机的普及&#xff0c;我…

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测完整代码风电功率预测 基于随机森林(Random Forest, RF)的风电功率预测是一种常用且有效的方法。以下是基于RF的风电功率预测的一般步骤: 数据准备:收集与风电场发电功率相关的数据,包括风速、风向、温度、湿度等气象数据以及风电场的历史功率数…

i春秋-Test

题目 解题 参考WP https://blog.csdn.net/qq_40654505/article/details/107142533/目录扫描 复现wp payload为&#xff1a; search.php?searchtype5&tid&areaeval($_POST[cmd])使用蚁剑连接 http://eci-2ze4iyhwj7xvb68bsb2t.cloudeci1.ichunqiu.com:80/search.ph…

10,hadoop优化与LZO压缩

hadoop多目录与LZO压缩 1.HDFS存储多目录 存储多目录&#xff1a; namenode&#xff0c; datanode namenode: 可以在当前节点中创建几个 namenode的多目录&#xff0c; 就是 虽说可以是多个目录&#xff0c;但是这个namenode多目录中&#xff0c;内容都是一样&#xff0c; 就…

Elasticsearch分词及其自定义

文章目录 分词发生的阶段写入数据阶段执行检索阶段 分词器的组成字符过滤文本切分为分词分词后再过滤 分词器的分类默认分词器其他典型分词器 特定业务场景的自定义分词案例实战问题拆解实现方案 分词发生的阶段 写入数据阶段 分词发生在数据写入阶段&#xff0c;也就是数据索…