解决mybatis-generator生成Mapper文件没有Selective结尾的问题

一开始从网上找的generatorConfig.xml内容如下:

<!-- 配置生成器 -->
<generatorConfiguration>
  <!--执行generator插件生成文件的命令: call mvn mybatis-generator:generate -e -->
  <!-- 引入配置文件 -->
  <properties resource="mybatis-generator/mybatisGeneratorInit.properties"/>

  <!-- 一个数据库一个context -->
  <context id="MysqlTables" targetRuntime="MyBatis3Simple">
    <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
    一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
    <property name="autoDelimitKeywords" value="true" />
    <!-- 生成的Java文件的编码 -->
    <property name="javaFileEncoding" value="utf-8" />
    <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
    <property name="beginningDelimiter" value="`" />
    <property name="endingDelimiter" value="`" />
  ...
  </context>
  ...
</generatorConfiguration>

发现运行生成代码的maven插件后,Mapper.java和Mapper.xml中都没有Selective结尾的方法(insertSelective、updateByPrimaryKeySelective)。

后来发现是context标签的targetRuntime属性的原因,将其设置为MyBatis3即可。

补充知识:MyBatis Plus中 selectPage 方法。返回的total为空问题

我记得我在哪里看到。好像哪个版本之后是不需要加分页插件的。

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() {
    PaginationInterceptor page = new PaginationInterceptor();
    page.setDialectType("mysql");
    return page;
  }
}

加上这个类问题基本就解决了

如果没解决。看一下项目中有没有pagehelper的依赖。如果有的话去掉就好了。

以上这篇解决mybatis-generator生成Mapper文件没有Selective结尾的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。