解决myBatis generator逆向生成没有根据主键的select,update和delete问题

 更新时间:2020年09月27日 10:33:23   作者:華府小書童  
这篇文章主要介绍了解决myBatis generator逆向生成没有根据主键的select,update和delete问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

一、配置逆向generatoe.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 
<generatorConfiguration>
  <context id="DB2Tables" targetRuntime="MyBatis3">
    <!-- 是否生成注释 -->
    <commentGenerator>
      <property name="suppressAllComments" value="true" />
    </commentGenerator>
    <!-- 配置数据库连接信息 -->
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/ssm_crud?serverTimezone=UTC"
            userId="root"
            password="root">
      <!--<property name="useInformationSchema" value="true"/>-->
    </jdbcConnection>
 
    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
    <!-- 指定javaBean生成的位置 -->
    <javaModelGenerator targetPackage="com.atguigu.crud.bean" targetProject=".\src\main\java">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>
    <!-- 指定sql映射文件生成的位置 -->
    <sqlMapGenerator targetPackage="mapper" targetProject=".\src\main\resources">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>
    <!-- 指定dao接口生成位置,mapper接口 -->
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.crud.dao" targetProject=".\src\main\java">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
    <!-- table指定每个表的生成策略 -->
    <table tableName="tbl_emp" domainObjectName="Employee" />
    <table tableName="tbl_dept" domainObjectName="Department" />
  </context>
</generatorConfiguration>

二、执行生成代码

public class MBGTest {
  public static void main(String[] args) throws Exception{
    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    File configFile = new File("mbg.xml");
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config = cp.parseConfiguration(configFile);
    DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
    myBatisGenerator.generate(null);
  }
}

三、结果mapper中未能生成...ByPrimaryKey的方法

四、解决办法

在generatoe.xml的配置数据库连接信息时,添加

<property name="useInformationSchema" value="true"/>

即可解决问题

以上这篇解决myBatis generator逆向生成没有根据主键的select,update和delete问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring扩展接口知识总结

    Spring扩展接口知识总结

    今天带大家学习Java Spring的相关知识,文中对Spring扩展接口作了非常详细的介绍及代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • springBoot集成redis(jedis)的实现示例

    springBoot集成redis(jedis)的实现示例

    Redis是我们Java开发中,使用频次非常高的一个nosql数据库,本文主要介绍了springBoot集成redis(jedis)的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09
  • SpringBoot+Vue项目打包部署完整步骤教程

    SpringBoot+Vue项目打包部署完整步骤教程

    这篇文章主要介绍了SpringBoot+Vue项目打包部署的相关资料,包括Vue项目的打包设置、SpringBoot的配置修改、跨域问题处理、使用Nginx配置反向代理以及最终的项目启动,教程假定开发者已具备完整的前后端分离项目和配置好环境的服务器,需要的朋友可以参考下
    2024-10-10
  • Java 直接插入排序的三种实现

    Java 直接插入排序的三种实现

    本文主要介绍了Java 直接插入排序的三种实现方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • 微服务springcloud 03.Eureka实现高可用的过程

    微服务springcloud 03.Eureka实现高可用的过程

    这篇文章主要介绍了微服务springcloud 03.Eureka实现高可用的相关资料,本文给大家介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Java多线程实现复制文件

    Java多线程实现复制文件

    这篇文章主要为大家详细介绍了Java多线程实现复制文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • SpringCloud通过Feign传递List类型参数方式

    SpringCloud通过Feign传递List类型参数方式

    这篇文章主要介绍了SpringCloud通过Feign传递List类型参数方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • MyBatis-Plus流式查询的实现示例

    MyBatis-Plus流式查询的实现示例

    MyBatis-Plus 从 3.5.4 版本开始支持流式查询,通过ResultHandler接口实现结果集的流式查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • SpringCloud如何使用Eureka实现服务之间的传递数据

    SpringCloud如何使用Eureka实现服务之间的传递数据

    这篇文章主要介绍了SpringCloud使用Eureka实现服务之间的传递数据操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 源码分析ConcurrentHashMap如何保证线程安全

    源码分析ConcurrentHashMap如何保证线程安全

    这篇文章将结合底层源码为大家详细介绍一下ConcurrentHashMap是如何保证线程安全的,文中是示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2023-06-06

最新评论