mybatis generator 逆向工程 自定义设置Table注解 以及 自定义注释 和自定义mapper接口

mybatis plus自定义模板 阅读详情

mybatis-generator是一个很好的数据库逆向生成Java实体的插件,但不能添加中文注释和注解,如果我们想生成下面这样一个实体类,那么就只能自己动手扩展一下mybatis-generator

 

generatorConfig.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>
    <properties resource="mybatis-generator/mybatisGeneratorInit.properties"/>
    <context id="MysqlTables" targetRuntime="MyBatis3" defaultModelType="flat">
        <!-- 自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
         一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖 -->
        <property name="autoDelimitKeywords" value="false"/>
        <!-- 生成的Java文件的编码 -->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java代码 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        <!-- 格式化XML代码 -->
        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

        <!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,
        比如ORACLE就是双引号,MYSQL默认是`反引号; -->
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <!--自定义的toString方法-->
        <plugin type="${my.toStringPlugin.address}"/>
        <!--自定义的mapper接口-->
        <plugin type="${my.baseMapperGeneratorPlugin.address}"/>

        <!-- 自定义注释 -->
        <commentGenerator type="${my.commentGenerator.address}">
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false"/>
            <!-- 是否生成注释代时间戳-->
            <property name="suppressDate" value="true"/>
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>

        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="${jdbc_driver}"
                        connectionURL="${jdbc_url}"
                        userId="${jdbc_user}"
                        password="${jdbc_password}"/>

        <!-- 类型转换 -->
        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
            <!-- 是否使用bigDecimal
            默认false:把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,
            为 true时:把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal
            -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>


        <!-- 生成实体类 -->
        <!-- targetPackage:生成实体类的包名 -->
        <!-- targetProject:生成实体类的位置 -->
        <javaModelGenerator targetPackage="${model.target.package}" targetProject="${target.project}">
            <!-- 是否对model添加 构造构造方法,构造方法包含了所有的field;而不是使用setter; -->
            <property name="constructorBased" value="true"/>
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <!-- 是否允许子包,即targetPackage.schemaName.tableName -->
            <property name="enableSubPackages" value="false"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true"/>
            <property name="immutable" value="false"/>
            <!--所有实体类继承BasePojo类-->
            <property name="rootClass" value="com.pojo.BasePojo" />
        </javaModelGenerator>

        <!-- 生成mapper映射文件 XML 生成XxxMapper.xml
        targetPackage:mapper映射文件生成的包名
        targetProject:mapper映射文件生成的位置
        -->
        <sqlMapGenerator targetPackage="${mapper.target.package}" targetProject="${target.project}">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- Dao层接口 生成XxxMapper.java文件: -->
        <javaClientGenerator targetPackage="${dao.target.package}" targetProject="${target.project}" type="XMLMAPPER">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="false"/>
        </javaClientGenerator>


        <!--指定数据库要逆向工程生成的表-->
        <!--可以生成很多表,生成在本工程结构里面-->
        <!--设置Example为true的话,就会生成Example文件,比较杂乱,不想生成这些内容的话,直接选择false即可
        tableName:指定了表名
        domainObjectName:指定了实体类的名称,可以去掉domainObjectName="False_comment"
        -->
        <table schema="" tableName="%"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">
            <!-- 如果设置为true,生成的model类会直接使用column本身的名字,而不会再使用驼峰命名方法,
            比如BORN_DATE,生成的属性名字就是BORN_DATE,而不会是bornDate
            再比如:数据库里的原本列名是:`is_show_name`(都是小写),
            如果true就会生成:is_show_name(还是数据库实际的字段名字,原始名字);生成的setter/getter为:getIs_show_name()和setIs_show_name()(只是第一个字母大写)
            如果false就会生成:isShowName(去掉了下划线,变成了驼峰命名方法);生成的setter/getter为:getIsShowName() 和setIsShowName() (只是第一个字母大写)
            注意:如果明确的使用columnOverride元素指定了字段对应的实体的属性名,那么useActualColumnNames会被忽略。
            -->
           <!-- <property name="useActualColumnNames" value="false"/>-->
  
5.6 Mybatis代码生成器Mybatis Generator (MBG)实战详解 本文我们主要实战Mybatis官方的代码生成器:Mybatis Generator(MBG),掌握它以后,可以简化大部分手写代码,我们只需要写复杂逻辑代码!创建与MySQL表对应的Java PO对象,字段一一对应;创建Mapper接口对应的XML映射文件(或注解)。首先是PO对象,我们往往创建与数据库表字段一一对应的PO对象;其次在Mapper里,通常都会写基本的增删改查代码。本文就带大家实战一下Mybatis Generator,用它生成实战项目全部表的PO对象基本增删改查代码! 阅读详情

相关推荐

达摩院高清人像美肤模型ABPN的深入解析及编程实现

本文深入解析了达摩院高清人像美肤模型ABPN的原理,并提供了相应的源代码实现。ABPN模型通过自适应的反投影网络,有效地实现了人像图像的美肤处理。通过进一步的研究优化,ABPN模型有望在人像美肤领域发挥更大的作用。低频特征提取器用于提取输入图像的低频信息,而反投影网络则负责将低频信息与原始图像结合,生成美肤后的输出图像。通过将输入图像送入ABPN模型,即可得到经过美肤处理后的输出图像。通过对输入图像进行美肤处理,可以有效地去除皮肤上的瑕疵噪点,提升图像质量美感。

TechPulseZ的博客 686

mybatis-plus 自定义代码生成器模板

这个是在模板的基础上改造的,改造幅度不大,毕竟是测试,看个人需求可以改造更多 MyControllerTemplate.java.ftl package ${package.Controller}; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.

qq_35226176的博客 1032

【WRF教程第3.5期】预处理系统 WPS 详解:以4.5版本为例

预处理系统 WPS 详解:以4.5版本为例

WW、forever的博客 1398

mybatis-generator生成的实体带数据表的字段注释,一看就会

文章目录需求1、原始样式2、引入jar包3、自定义实现CommentGenerator接口4、配置generatorConfig.xml 需求 上一节我们分析了如何使用mybatis-generator来生成一些文件,但是对于生成的文件自带了一些系统注释,显得杂乱无章。现在有更简洁的方法生成清爽的代码。 1、原始样式 按照上一节的方法,可以生成如下实体类,但是注释信息过于杂乱。 /** * * This class was generated by MyBatis Generator. * This

可乐多点冰的博客 9232

使用mybatis generator出现Table Configuration scheme.table matched more than one table

在使用mybatis generator时,出现MyBatis Generator : Table Configuration scheme.table matched more than one table问题。 原因是使用了mysql8.0以上的版本,参考官网文档(http://www.mybatis.org/generator/usage/mysql.html) 解决方法是在generato...

weixin_43031419的博客 1562

mybatis generator 逆向工程 自定义设置Table注解 以及 自定义注释 自定义mapper接口

mybatis-generator是一个很好的数据库逆向生成Java实体的插件,但不能添加中文注释注解,如果我们想生成下面这样一个实体类,那么就只能自己动手扩展一下mybatis-generator generatorConfig.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?>

斯旺森swanson 1299

逆向工程mysql注释_mybatis generator 逆向工程 自定义设置Table注解 以及 自定义注释 自定义mapper接口...

mybatis-generator是一个很好的数据库逆向生成Java实体的插件,但不能添加中文注释注解,如果我们想生成下面这样一个实体类,那么就只能自己动手扩展一下mybatis-generatorgeneratorConfig.xml 配置如下:/p>"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">connecti...

weixin_30092051的博客 413

Mybatis逆向工程自定义教程与实战

Mybatis逆向工程Mybatis框架的一个重要组成部分,它主要的功能是从数据库中提取表的元信息,自动为我们生成Mybatis的持久层代码,包括实体类(Entity),Mapper接口以及Mapper的XML文件。这个过程被称为“逆向”,是因为它反向操作了通常的手写代码过程,通过定义好的数据库结构,自动化生成数据访问层代码,这大大降低了开发成本,提高了开发效率,并且在很大程度上保证了代码的一致性减少了重复性工作。-- 示例:generatorConfig.xml 配置文件头部 -->

weixin_28872035的博客 1300

MyBatis 逆向工程

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置映射原始类型、接口 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 MyBatis Generator简介 My...

。。。。 3461

MyBatis动态SQL与逆向工程实战指南

动态SQL是ORM框架中的关键技术,它通过条件判断循环结构实现SQL语句的动态生成,解决了传统JDBC需要手动拼接SQL字符串的问题。MyBatis作为Java生态主流ORM框架,其动态SQL模块支持if/choose/foreach等标签,配合逆向工程工具可自动生成实体类、Mapper接口基础CRUD操作。这种技术组合特别适合电商、金融等需要处理复杂查询的业务场景,能减少60%以上的重复代码量。在实际应用中,需要注意XML特殊字符转义、批量操作性能优化等问题,结合MyBatis Generator插件

weixin_33721344的博客 373

mybatis-generator自动生成实体对象

mybatis-generator自动生成实体对象 新建一个表 CREATE TABLE `uc_user` ( `id` varchar(32) NOT NULL COMMENT 'id', `name` varchar(32) NOT NULL COMMENT '用户名', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DE

m0_37693638的博客 646

Mybatis逆向工程

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;!-- 指定连接数据库的JDBC驱动包所在位置,指定到你本机的完整路径 --&amp;gt; &amp;lt;classPathEntry location=&quot;F:\xiangmuliu\reposities\repository\mysql\my

qq_30347133的博客 203

Mybatis代码生成器Mybatis-Generator使用及配置详解

XML配置文件才是Mybatis-Generator的核心,它用于控制代码生成的所有行为。所有非标签独有的公共配置的Key可以在mybatis-generator-core的PropertyRegistry类中找到。点击 IDEA 右侧 Maven,在 Plugins 下的 mybatis-generator 下,双击 mybatis-generator:generate 运行。4.执行MyBatis-Generator

LM_Hh的博客 2万+

Mybatis-plus 逆向工程自动生成代码-实体类字段添加@TableField

Mybatis-plus 逆向工程自动生成代码-实体类字段添加@TableField

weixin_52067659的博客 3782

mybatis-plus-generator生成实体类时添加jdbcType

1.基本思路。 1.使用变量(useJdbcType)控制是否需要生成jdbcType 2.生成时拼接相关字段信息 2.步骤 2.1重写TableField,添加jdbcType属性 在com.baomidou.mybatisplus.generator.config.po包下新建TableField.class TableField为mybatis-plus-generator中的字段属性类,通过在当前项目下重写该类(需要包名...

bfss_11的博客 4618

generator自动生成mybatis配置类信息报Table configuration with catalog null错误解决

Mybatis generator,Table configuration with catalog null, schema null报错解决 运行generator命令自动生成mybatis配置类的过程中报错。 下面列出报错可能的原因及对应解决办法。 原因一:mybatis-generator:generate命令写错了 将命令写错写成了mybatis-generator:generator...

程序媛乐园 4014

mybatis-plus自定义自动获取保存的字段信息,填充

要保存保存人 BaseEntity package com.experiment.common.core.base.entity; import java.io.Serializable; import java.util.Date; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackso

ghx123456ghx的博客 603

MyBatis-Plus Generator 数据库实体类模板化实现:添加表字段常量,避免逻辑层的字段硬编码

UpdateWrapper<CetdSystemParam> update=new UpdateWrapper<>(); update.eq("Param_Type", 0); update.set("Param_Value", millSecond); try { cetdSystemParamMapper.update(null, update); } cat...

lp506954774的专栏 1722

2020-09-30

创建外键: 创建外键在有了主表就基础下 例如 主表 主键列名 ID int create table( 外键列名 int foreign key references主键表名(主键列名) )

weixin_45743203的博客 343

Google Chrome for Mac 139.0.7258.139

《Google Chrome for Mac 139.0.7258.139:速度、安全与个性化的新高度》Google Chrome for Mac 139.0.7258.139 是谷歌公司推出的最新版浏览器,为 Mac 用户带来了更快的速度、更高的安全性更个性化的体验。这款浏览器以其卓越的性能创新功能,成为许多用户的首选。在性能方面,Chrome 139.0.7258.139 以其惊人的加载速度流畅体验著称。它能够迅速加载网页,减少等待时间,提升用户效率。此外,Chrome 采用多层次安全措施,包括强化加密自动更新,确保用户免受网络攻击。其隐私保护功能如广告屏蔽数据管理,使用户能掌控个人信息。Chrome 的丰富扩展生态系统允许用户从 Chrome Web Store 中选择数以万计的扩展应用,满足多种需求,提供个性化体验。其跨平台支持确保用户在不同设备间无缝切换,无论是 Windows、Mac、Android 还是 iOS,Chrome 都提供一致的体验数据同步。此外,Chrome 139.0.7258.139 还新增了一些实用功能。例如,iOS 版本新增了新标签页自定义功能,用户可以通过点击屏幕顶部的编辑图标,自定义主题快捷方式等。这些更新进一步提升了用户体验,使其成为日常浏览专业工作的理想选择。总之,Google Chrome for Mac 139.0.7258.139 以其速度、安全、个性化跨平台优势,为用户打开通往无限网络可能的门户。

上一篇: idea常用快捷键设置(改为eclipse相似)
下一篇: IntelliJ IDEA 常用快捷键(终极版)
loveer~
博客等级 码龄9年 63粉丝 44原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值