zoukankan      html  css  js  c++  java
  • 【spring-boot】Mybatis Generator 如何生成Example类

    背景

    我发现上传到github上的项目,有的有Example类,有的没有Example类,怎么回事呢?

    过程

    对比项目,发现/src/main/resources/mybatis/generatorConfig.xml 类不一样。

    原因

    targetRuntime="Mybatis" 和 targetRuntime="MyBatis3Simple"

    MyBatis3模式默认生成的对象将包含很多"by Example"的方法,如果不想生成这些,可以在后续的table元素中配置取消;MyBatis3Simple模式默认每个表生成一个实体对象,生成的Mapper接口仅包含必须的5个方法:deleteByPrimaryKey、insert、selectByPrimaryKey、selectAll、updateByPrimaryKey。

    文件源码

    <?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="mysqlTables" targetRuntime="MyBatis3">
            <commentGenerator>
                <property name="suppressDate" value="false"/>
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
            <!--目标数据库配置-->
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://localhost:3306/komo?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false&amp;nullNamePatternMatchesAll=true"
                    userId="root" password="123456"/>
            <!-- 指定生成的类型为java类型,避免数据库中number等类型字段 -->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <!-- 生成model模型,对应的包,存放位置可以指定具体的路径,如/ProjectName/src,也可以使用MAVEN来自动生成 -->
            <javaModelGenerator targetPackage="com.example.mybatisexampledemo.dao" targetProject="src/main/java">
                <property name="enableSubPackages" value="false"/>
                <property name="trimStrings" value="true"/>
                <property name="immutable" value="false"/>
            </javaModelGenerator>
            <!--对应的xml mapper文件  -->
    
            <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources/mybatis">
                <property name="enableSubPackages" value="false"/>
            </sqlMapGenerator>
            <!-- 对应的dao接口 -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.example.mybatisexampledemo.mapper" targetProject="src/main/java">
                <property name="enableSubPackages" value="false"/>
            </javaClientGenerator>
            <!--定义需要操作的表及对应的DTO名称-->
    <!-- <table tableName="t_user" domainObjectName="User" enableCountByExample="false"-->
    <!-- enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"-->
    <!-- selectByExampleQueryId="false"/>-->
    <table tableName="t_user" domainObjectName="User" />
    </context> </generatorConfiguration>

    参考地址:https://javatech.wang/index.php/archives/27/

    项目demo地址:https://github.com/KoMiles/spring-example/tree/master/mybatis-example-demo

  • 相关阅读:
    JasperReports项目中的应用
    请问两个div之间的上下距离怎么设置
    Spring MVC Flash Attribute 的讲解与使用示例
    8.ireport 取消自动分页,detail不分页
    python网络爬虫学习笔记
    ShareSDK for Android 2.3.8它已发表
    OllyDbg 使用注意事项 (十)
    ListView的cacheColorHint与listSelector物业和fragment里面onActivityResult问题没有响应
    Hdu 3341 Lost&#39;s revenge (ac+自己主动机dp+hash)
    PhoneGap 开发与应用 上传 App Store 在
  • 原文地址:https://www.cnblogs.com/wangkongming/p/12810663.html
Copyright © 2011-2022 走看看