首页 > 其他分享 >MyBatis代码生成器的实用

MyBatis代码生成器的实用

时间:2024-06-09 10:21:40浏览次数:21  
标签:xml 代码生成 generator -- 实用 MyBatis main resources

MyBatis代码生成器可以帮助我们快速的构建一些固定的代码

重要:代码生成器生成的代码不能被修改,否则在新增新的字段以后,再次运行代码生成器,修改后的内容可能会丢失

在项目中引入代码生成器的主要步骤:

  • 新建生成器模块,引入相关插件
 <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
                    <!--<configurationFile>src/main/resources/generator-config-member.xml</configurationFile>-->
                    <configurationFile>src/main/resources/generator-config-business.xml</configurationFile>
                    <!--<configurationFile>src/main/resources/generator-config-batch.xml</configurationFile>-->
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.22</version>
                    </dependency>
                </dependencies>
            </plugin>
  • 在新模块的resources下加入如下的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="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">

        <!-- 自动检查关键字,为关键字增加反引号 -->
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!--覆盖生成XML文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
        <!-- 生成的实体类添加toString()方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>

        <!-- 不生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- 配置数据源,需要根据自己的项目修改 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://rm-uf62v90x7t5hukv5dro.mysql.rds.aliyuncs.com/train_member?serverTimezone=Asia/Shanghai"
                        userId="train_member"
                        password="Member123">
        </jdbcConnection>

        <!-- domain类的位置 targetProject是相对pom.xml的路径-->
        <javaModelGenerator targetProject="../member/src/main/java"
                            targetPackage="com.jiawa.train.member.domain"/>

        <!-- mapper xml的位置 targetProject是相对pom.xml的路径 -->
        <sqlMapGenerator targetProject="../member/src/main/resources"
                         targetPackage="mapper"/>

        <!-- mapper类的位置 targetProject是相对pom.xml的路径 -->
        <javaClientGenerator targetProject="../member/src/main/java"
                             targetPackage="com.jiawa.train.member.mapper"
                             type="XMLMAPPER"/>

        <!--<table tableName="member" domainObjectName="Member"/>-->
        <table tableName="passenger" domainObjectName="Passenger"/>
    </context>
</generatorConfiguration>

  • 运行上述的插件,可以得到数据库对应的实体类,并且生成mapper层常用的方法以及sql xml文件

标签:xml,代码生成,generator,--,实用,MyBatis,main,resources
From: https://www.cnblogs.com/zhangcheng1234/p/18239324

相关文章

  • 【机器学习基础】Python编程07:五个实用练习题的解析与总结
    Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面:简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些库提供了......
  • 【机器学习基础】Python编程08:五个实用练习题的解析与总结
    Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面:简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些库提供了......
  • 使用Mybatis出现org.apache.ibatis.binding.BindingException: Invalid bound stateme
    一般的解决方式:1、检查xml文件名和mapper接口名字是否一致2、检查xml文件中的namespace和mapper接口的全类名是否一致3、检查xml文件中的方法名和mapper接口中的方法名是否一致4、检查target中是否存在xml文件,如果不存在有两种方式,第一种是在yml文件中配置,第二种是在pom.xm......
  • 基于SpringBoot+Mybatis+Redis的问答社交网站项目(免费提供全部源码)
    下载地址如下:基于SpringBoot+Mybatis+Redis的问答社交网站项目(免费提供全部源码)资源-CSDN文库项目介绍项目背景随着互联网的普及和社交媒体的快速发展,用户对于在线交流和信息分享的需求不断增加。问答社交网站作为一种新型的社交平台,为用户提供了一个交流知识、解决问题和......
  • spring和Mybatis的核心配置文件
    目录四、核心配置文件详解五、MyBatis获取参数值的两种方式5.1、搭建新的module:mybatis_parameter5.2、单个字面量类型的参数5.3、多个字面量类型的参数5.3、map集合类型的参数5.4、实体类类型的参数用的较多5.5、使用@Param标识参数四、核心配置文件详解<?xmlversion="1.0"......
  • 盘点实用的AI绘图软件,开启PS AI创作新纪元
    随着人工智能技术的飞速发展,AI绘图软件逐渐走进了公众视野,成为艺术创作领域的一大创新。这些软件不仅能够帮助设计师和艺术家提升工作效率,还能激发无限的创意灵感。本文将介绍几款热门AI绘图软件,帮助您了解并选择适合自己的工具。StartAI-基于PS的AI绘图软件StartAI是一款......
  • 面试必会 --> MyBatis篇
    什么是MyBatisMybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。MyBatis可以使用XML或注解来配置和映射......
  • CodeSmith 代码生成器
    在上一篇我们已经用PowerDesigner创建好了需要的测试数据库,下面就可以开始用它完成批量代码生成的工作啦.下面我会一步步的解释如何用CodeSmith实现预期的结果的,事先声明一下,在此只做一个简单的Demo,并不详细的讲解CodeSmith各个强大的功能,有兴趣的朋友可以打开CodeSmith的帮......
  • Mybatis入门
    目录一、简介1.1、MyBatis历史1.2、特性1.3、下载1.4、和其它持久层技术对比二、搭建Mybatis2.1开发环境三、创建MyBatis的核心配置文件3.1、创建mapper接口3.2、创建MyBatis的映射文件3.3、通过junit测试对应功能3.4、加入log4j日志功能一、简介1.1、MyBatis历史MyBatis最初是......
  • 免费实用!16款 Stable Diffusion 插件全面测评
    一、前方高能1.prompt-all-in-one提示词翻译补全(自动翻译)推荐指数:☆☆☆☆☆易上手程度:☆☆☆☆☆使用频率:☆☆☆☆☆能做什么:prompt-all-in-one提示词翻译补全可以帮助英文不好的用户,快速弥补英文短板。其中包含,中文输入自动转英文、自动保存使用描述词、描述词历史......