我们都知道mybatis-plus是以实体为中心的框架体系,那么无论你的实体怎么变都不会影响你功能。
在我们的业务开发中经常需要对业务表进行变更比如增加个字段,修改个字段之类的,那么这个时候需要重新生成代码,那么假如你使用的是xml模式,并且你在生成的xml中写了自己的sql代码,那这个时候你要怎么覆盖他呢?
所以这里衍生出来的一个问题就是应该定义一个规范,让生成的代码与手写的代码解耦,互不影响。
也就是我们可以定义两个文件。
图中可以看出这两个文件名一样,并且
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yzj.dbmeta.web.dao.DbTableDao">
</mapper>
并且基础结构也一样,这个时候mybatis框架就会把这两个文件当成一个文件来加载。当然还差一个配置项
mybatis-plus.mapper-locations=classpath:/mapper*/**/*.xml
指明扫描的路径要将两个文件都扫描。
这样就达到了我们解耦的目的,mapper中的文件就是纯生成的,不要去修改他。
关于怎么覆盖已存在的生成文件请参考我的这一篇文章 https://blog.csdn.net/a807719447/article/details/89489775