MyBatis逆向工程、Mybatis Generator代码生成器

news/2024/5/19 0:21:09 标签: mybatis, jdbc, mysql, generator

MyBatis逆向工程、Mybatis Generator代码生成器

  • 一、pom.xml引入依赖
  • 二、创建generator.properties
  • 三、创建generatorConfig.xml
  • 四、执行Generator代码生成器
  • 五、查看验证

一、pom.xml引入依赖

<dependencies>
		<!-- MyBatis 逆向生成工具 -->
		<dependency>
			<groupId>org.mybatis.generator</groupId>
			<artifactId>mybatis-generator-core</artifactId>
			<version>1.3.3</version>
		</dependency>
		<!-- MyBatis 通用mapper 让所有自己的Mapper接口继承Mapper类 -->
		<dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>
		<!--Mysql数据库驱动-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.47</version>
		</dependency>
	</dependencies>

generatorproperties_25">二、创建generator.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://localhost:3306/zd_supplier?useUnicode=true&characterEncoding=UTF-8&useSSL=false
jdbc.userId=root
jdbc.password=123456

generatorConfigxml_32">三、创建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="generator.properties"/>
    <context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 为模型生成序列化方法-->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
        <!-- 为生成的Java模型创建一个toString方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
        <!--可以自定义生成model的代码注释-->
        <commentGenerator >
             <!--是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
            <property name="suppressDate" value="true"/>
            <property name="addRemarkComments" value="true"/>
        </commentGenerator>

		  <!-- 通用mapper所在目录 让所有自己的Mapper接口继承Mapper类-->
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
        </plugin>
        
        <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
        <jdbcConnection driverClass="${jdbc.driverClass}"
                        connectionURL="${jdbc.connectionURL}"
                        userId="${jdbc.userId}"
                        password="${jdbc.password}">
            <!--解决mysql驱动升级到8.0后不生成指定数据库代码的问题-->
            <property name="nullCatalogMeansCurrent" value="true" />
        </jdbcConnection>
     
        <!--指定生成model的路径-->
        <javaModelGenerator targetPackage="com.xxx.supplier.generator.model" targetProject="src/main/java"/>
        <!--指定生成mapper.xml的路径-->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
        <!--指定生成mapper接口的的路径-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.xxx.supplier.generator.dao"
                             targetProject="src/main/java"/>
        <!-- 指定数据库表 -->
        <!--生成全部表tableName设为%-->
        <table tableName="user">
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
        <!-- 有些表的字段需要指定java类型
		<table  tableName="">
			<columnOverride column="" javaType="" />
		</table> -->
    </context>
</generatorConfiguration>


四、执行Generator代码生成器

public class Generator {
    public static void main(String[] args) throws Exception {
        //MyBatisGenerator执行过程中的警告信息
        List<String> warnings = new ArrayList<String>();
        //当生成的代码重复时,覆盖原代码
        boolean overwrite = true;
        //读取MyBatisGenerator配置文件
        InputStream is = Generator.class.getResourceAsStream("/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(is);
        is.close();

        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        //创建MyBatisGenerator 
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        //执行生成代码
        myBatisGenerator.generate(null);
        //输出警告信息
        for (String warning : warnings) {
            System.out.println(warning);
        }
    }
}

五、查看验证

在这里插入图片描述


http://www.niftyadmin.cn/n/876556.html

相关文章

Redis缓存数据常见的三种问题及解决方法

1.缓存穿透 1.1 问题描述 缓存穿透是在客户端/浏览器端请求一个不存在的key&#xff0c;这个key在redis中不存在&#xff0c;在数据库中也不存在数据源&#xff0c;每次对此key的请求从缓存获取不到&#xff0c;就会请求数据源。 如使用一个不存在的用户id去访问用户信息&am…

数据同步解决方案之Canal

数据同步解决方案之canalCanal概述工作原理MySQL主备复制原理Canal工作原理环境部署mysql开启binlog模式canal服务端安装配置Canal的基本使用引入依赖编码执行测试SpringBoot集成Canal引入依赖数据库配置Canal编码pring-boot-starter-canal引入依赖Canal启动配置编码执行测试增…

一问三不知之初识JVM

JVM 1. JVM是什么 1.1 JVM概述 JVM 是 java虚拟机&#xff0c;是用来执行java字节码(二进制的形式)的虚拟计算机。jvm是运行在操作系统之上的&#xff0c;与硬件没有任何关系。JVM全称为 Java virtual machine &#xff0c;即Java虚拟机。 1.2 JVM跨平台及原理 Java语言的一…

模板引擎之Thymeleaf

模板引擎之Thymeleafthymeleaf概述Thymeleaf快速入门引入依赖创建模板生产模板浏览器访问Thymeleaf基本语法th:textth:inline内联th:object 和 *th:each 循环th:ifth:switch 和 th:caseth:actionth:includeSpring集成Thymeleaf引入依赖配置applicationContext-thymeleaf.xml配置…

一问三不知之log4j2漏洞简析

1.log4j2漏洞介绍 1.1简介 Apache Log4j 2是对Log4j的升级&#xff0c;它比其前身Log4j 1.x提供了重大改进&#xff0c;并提供了Logback中可用的许多改进&#xff0c;同时修复了Logback架构中的一些问题。是目前最优秀的Java日志框架之一。 2021年11月24日&#xff0c;阿里云…

一问三不知之Redis常见问题

1&#xff09;Redis为什么使用单进程单线程方式也这么快 Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库&#xff0c;由C语言编写。官方提供的数据是可以达到100000的qps。这个数据不比采用单进程多线程的同样基于内存的KV数据库Memcached差。 Redis快的主要原因…

通用Mapper之TkMapper的使用

通用Mapper之TkMapper的使用1.通用Mapper概述2.Spring整合TkMapper1.引入依赖包2.进行配置3.测试通用Mapper3.通用Mapper的CURD1.增加操作2.查询操作3.修改操作4.删除操作4.分页插件pagehelper1.引入依赖2.配置mybatis拦截器3.分页类PageInfo4.使用分页插件5.SpringBoot整合TkM…

云舍综合内容分享平台

1.做这个开源项目的初衷 学习java已经很久了&#xff0c;一直是跟着视频教程或者文档来学的&#xff0c;没有自己从头开始搭建一个技术栈丰富&#xff0c;又有内容的项目&#xff0c;所以就产生了这个想法&#xff0c;在一个技术群和一个大佬一拍即合&#xff0c;我打下手&…