首页 > 其他分享 >MyBatis Generator代码生成器

MyBatis Generator代码生成器

时间:2024-07-11 20:27:21浏览次数:13  
标签:代码生成 Generator mapper -- maven MyBatis

1、MyBatis Generator代码生成

1、概述

MyBatis Generator 作为一个基于 MyBatis 的独立工具,它可以通过简单的配置去帮我们生成数据表所对应的 PO、DAO、XML 等文件,减去我们手动去生成这些文件的时间,有效提高开发效率

2、环境集成

使用idea打开项目:mybatis-gen

然后修改代码生成的核心配置文件:mybatis-generator.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>
    <!--导入mysql的驱动-->
    <classPathEntry
            location="D:\respository_zzyl\mysql\mysql-connector-java\8.0.19/mysql-connector-java-8.0.19.jar"/>

    <!-- context 是逆向工程的主要配置信息 -->
    <!-- id:起个名字 -->
    <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
    <context id="default" targetRuntime="MyBatis3">

        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!-- 批量插入插件 -->
        <plugin type="com.itfsw.mybatis.generator.plugins.BatchInsertPlugin"/>
        <!-- 去掉生成出来的代码的注解 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
        </commentGenerator>

        <!--jdbc的数据库连接-->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://192.168.200.146:3306/zhyl-auth"
                        userId="root"
                        password="heima123"/>

        <!--非必须,类型处理器,在数据库类型和java类型之间的转换控制-->
        <javaTypeResolver>
            <!-- 默认情况下数据库中的 decimal,bigInt 在 Java 对应是 sql 下的 BigDecimal 类 -->
            <!-- 不是 double 和 long 类型 -->
            <!-- 使用常用的基本类型代替 sql 包下的引用类型 -->
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>

        <!-- targetPackage:生成的实体类所在的包 -->
        <!-- targetProject:生成的实体类所在的硬盘位置 -->
        <javaModelGenerator targetPackage="com.zzyl.entity"
                            targetProject="src/main/java">
            <!-- 是否允许子包
            <property name="enableSubPackages" value="false"/>-->
            <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>

        <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            <!-- 针对数据库的一个配置,是否把 schema 作为字包名
            <property name="enableSubPackages" value="false"/>-->
        </sqlMapGenerator>

        <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 XMLMAPPER:生成XML方式,ANNOTATEDMAPPER:生成注解方式-->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.zzyl.mapper" targetProject="src/main/java">
            <!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名
            <property name="enableSubPackages" value="false"/>-->
        </javaClientGenerator>
        <table tableName="device"
               domainObjectName="Device" >
            <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
            <columnOverride column="create_time" javaType="java.time.LocalDateTime"/>
            <columnOverride column="update_time" javaType="java.time.LocalDateTime"/>
        </table>
    </context>
</generatorConfiguration>
  • 配置mysql的驱动位置,找到maven本地仓库中的mysql驱动

  • 配置数据库链接

  • 设置实体类、mapper、mapper映射文件的目录

  • table标签可以设置对应数据库中的表,可配置多个

3、代码生成

目前的集成方式使用的maven插件来完成的,如果以上配置都已经完成了,可以在maven的插件中启动代码生成

注意:生成后的mapper代码,内容较多,可以根据自己的需要留下必要的代码内容

标签:代码生成,Generator,mapper,--,maven,MyBatis
From: https://blog.csdn.net/susjj663/article/details/140310334

相关文章

  • 流式查询1. mybatis的游标Cursor,分页大数据查询
    流式查询流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用可以通过迭代器每次取一条查询结果。流式查询的好处是能够降低内存使用。例如我们想要从数据库取1000万条记录而又没有足够的内存时,就不得不分页查询。而分页查询就需要我们按照顺序查询并设置一个参......
  • MyBatis拦截器在实际项目中的应用
    MyBatis 是一个流行的Java持久层框架,它简化了数据库访问的复杂性,为开发者提供了强大的功能。其中,MyBatis拦截器是一个非常有用的特性,可以帮助开发者灵活地解决各种问题。一、MyBatis拦截器1.1从执行SQL语句的核心流程说起在MyBatis中,要执行一条SQL语句,会涉及......
  • 使用中台 Admin.Core 实现了一个Razor模板的通用代码生成器
    前言前面使用Admin.Core的代码生成器生成了通用代码生成器的基础模块分组,模板,项目,项目模型,项目字段的基础功能,本篇继续完善,实现最核心的模板生成功能,并提供生成预览及代码文件压缩下载准备首先清楚几个模块的关系,如何使用,简单画一个流程图前面完成了基础的模板组,模板管......
  • MyBatis Plus - 简介及入门实例
    简介及入门实例前言最开始,要在Java中使用数据库时,需要使用JDBC,创建Connection、ResultSet等,然后我们又对JDBC的操作进行了封装,创建了许多类似于DBUtil等工具类。再慢慢的,出现了一系列持久层的框架:Hibernate、JPA,Mybatis等。各个框架的特点如下:Hibernate:一个全......
  • MyBatis - 注解开发
    注解开发1.MyBatis注解之前的实例中,利用MyBatis进行开发时,一旦添加新的方法,则每次都需要在XML配置文件中进行映射。而现在随着注解开发的大肆流行,MyBatis3也提供了基于注解的配置。但是通过注解的方式表达力和灵活性有限,必要时要是需要通过mapper配置文件来进行......
  • MyBatis - 一二级缓存
    一二级缓存1.前言1.1什么是缓存缓存是存在内存中的临时数据,通过将我们经常查询但不常变的数据放在内存中,当我们查询数据时就不在需要从磁盘读取,而只需要从缓存中查询即可,大大提升了查询的效率,解决了高并发系统的性能问题。1.2为什么需要缓存既然我们可以直接从数......
  • 【MyBatis】xml 大于|小于|等于 写法及介绍
    在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突方法一:使用xml原生转义的方式进行转义#字符名称sql符号转义字符大于号>>小于号<<不等于<><>大于等于号>=>=小于等于号<=<=与&&amp;单引号'&apos;双引号""......
  • Java后端tlias员工部门管理-员工管理下-MyBatis-4
    当我们完成了员工管理的分页查询,那么接下来就要完成员工管理的批量删除、新增员工、根据ID查询员工、根据ID修改员工功能。下图是最终完成的示例 批量删除批量删除也是查询语句,所以我们在EmpMapper只需要编写方法,而不需要在上面编写复杂的查询语句,而是在EmpMapper.xml编写......
  • SpringBoot 整合 MyBatis 时报java.lang.IllegalArgumentException: Unable to instan
    配置   报错信息: 原因:版本不兼容,降低 mybatis 版本 问题解决: ......
  • MyBatisPlus 实现数据库 CURD 操作
    BaseMapper接口方法介绍BaseMapper中提供了CRUD方法,具体方法如下://插入一条记录intinsert(Tentity);//根据entity条件,删除记录intdelete(@Param(Constants.WRAPPER)Wrapper<T>wrapper);//删除(根据ID批量删除)intdeleteBatchIds(@Param(Constants.COLLEC......