导读

  逆向工程说白了,就可以简化开发工作量,自动生成一些死板的东西,比如POJO、映射文件等等,然后在将代码拷贝至实际工程,直接拿来用!

项目结构

GeneratorSqlMap.java

  1. import java.io.File;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.mybatis.generator.api.MyBatisGenerator;
  5. import org.mybatis.generator.config.Configuration;
  6. import org.mybatis.generator.config.xml.ConfigurationParser;
  7. import org.mybatis.generator.internal.DefaultShellCallback;
  8.  
  9. public class GeneratorSqlmap {
  10.  
  11. public void generator() throws Exception{
  12.  
  13. List<String> warnings = new ArrayList<String>();
  14. boolean overwrite = true;
  15. //指定 逆向工程配置文件
  16. File configFile = new File("generatorConfig.xml");
  17. ConfigurationParser cp = new ConfigurationParser(warnings);
  18. Configuration config = cp.parseConfiguration(configFile);
  19. DefaultShellCallback callback = new DefaultShellCallback(overwrite);
  20. MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
  21. callback, warnings);
  22. myBatisGenerator.generate(null);
  23.  
  24. }
  25. public static void main(String[] args) throws Exception {
  26. try {
  27. GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
  28. generatorSqlmap.generator();
  29. } catch (Exception e) {
  30. e.printStackTrace();
  31. }
  32. }
  33. }

log4j.properties

  1. log4j.rootLogger=DEBUG, Console
  2. #Console
  3. log4j.appender.Console=org.apache.log4j.ConsoleAppender
  4. log4j.appender.Console.layout=org.apache.log4j.PatternLayout
  5. log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
  6. log4j.logger.java.sql.ResultSet=INFO
  7. log4j.logger.org.apache=INFO
  8. log4j.logger.java.sql.Connection=DEBUG
  9. log4j.logger.java.sql.Statement=DEBUG
  10. log4j.logger.java.sql.PreparedStatement=DEBUG

generatorConfig.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE generatorConfiguration
  3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
  4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
  5. <generatorConfiguration>
  6. <!--数据驱动器-->
  7. <classPathEntry location="lib/mysql-connector-java-5.1.28-bin.jar"/>
  8. <context id="DB2Tables" targetRuntime="MyBatis3">
  9. <commentGenerator>
  10. <property name="suppressDate" value="true"/>
  11. <!-- 是否自动生成注释-->
  12. <property name="suppressAllComments" value="true"/>
  13. </commentGenerator>
  14. <!-- 数据库连接url,用户名,密码 -->
  15. <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/cyb" userId="root" password="root">
  16. </jdbcConnection>
  17. <javaTypeResolver>
  18. <property name="forceBigDecimals" value="false"/>
  19. </javaTypeResolver>
  20. <!-- 生成模型的包名和位置-->
  21. <javaModelGenerator targetPackage="com.cyb.po" targetProject="src">
  22. <property name="enableSubPackages" value="true"/>
  23. <property name="trimStrings" value="true"/>
  24. </javaModelGenerator>
  25. <!-- 生成映射文件的包名和位置-->
  26. <sqlMapGenerator targetPackage="com.cyb.mapping" targetProject="src">
  27. <property name="enableSubPackages" value="true"/>
  28. </sqlMapGenerator>
  29. <!-- 生成DAO的包名和位置-->
  30. <javaClientGenerator type="XMLMAPPER" targetPackage="com.cyb.dao" targetProject="src">
  31. <property name="enableSubPackages" value="true"/>
  32. </javaClientGenerator>
  33. <!-- 要生成哪些表-->
  34. <table tableName="dept"></table>
  35. </context>
  36. </generatorConfiguration>

数据库表

测试

项目下载

  1. 链接: https://pan.baidu.com/s/1BCGAzCTpqBlkQjzA8pYUYA 密码: o5gw

mybatis 逆行工程 附源码的更多相关文章

  1. Mybatis入门(附源码压缩包下载)

    首先,来个项目全景预览,文章尾部附上Demo下载链接 [1]pom.xml配置(加入jar包) <project xmlns="http://maven.apache.org/POM/ ...

  2. Mybatis+SpringMVC实现分页查询(附源码)

    Maven+Mybatis+Spring+SpringMVC实现分页查询(附源码) 一.项目搭建 关于项目搭建,小宝鸽以前写过一篇Spirng+SpringMVC+Maven+Mybatis+MySQ ...

  3. SpringBoot2.x整合Prometheus+Grafana【附源码+视频】

    图文并茂,新手入门教程,建议收藏 SpringBoot2.x整合Prometheus+Grafana[附源码+视频] 附源码+视频 目录 工程简介 简介 Prometheus grafana Spri ...

  4. C#共享内存实例 附源码

    原文 C#共享内存实例 附源码 网上有C#共享内存类,不过功能太简单了,并且写内存每次都从开头写.故对此进行了改进,并做了个小例子,供需要的人参考. 主要改进点: 通过利用共享内存的一部分空间(以下称 ...

  5. Android中Canvas绘图基础详解(附源码下载) (转)

    Android中Canvas绘图基础详解(附源码下载) 原文链接  http://blog.csdn.net/iispring/article/details/49770651   AndroidCa ...

  6. 13行代码实现:Python实时视频采集(附源码)

    一.前言 本文是<人脸识别完整项目实战>系列博文第3部分:程序设计篇(Python版),第1节<Python实时视频采集程序设计>,本章内容系统介绍:基于Python+open ...

  7. 一步步实现windows版ijkplayer系列文章之七——终结篇(附源码)

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  8. 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生

    [转].NET(C#):浅谈程序集清单资源和RESX资源   目录 程序集清单资源 RESX资源文件 使用ResourceReader和ResourceSet解析二进制资源文件 使用ResourceM ...

  9. 在Winform窗体中使用WPF控件(附源码)

    原文:在Winform窗体中使用WPF控件(附源码) 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件.原有是我在百度上搜索相关信息无果,遂干脆动手自己实现. W ...

  10. C#中的WinFrom技术实现串口通讯助手(附源码)

    C#中的WinFrom技术实现串口通讯助手(附源码)   实现的功能: 1.实现自动加载可用串口. 2.打开串口,并且使用C#状态栏显示串口的状态. 3.实现了串口的接收数据和发送数据功能. 4.串口 ...

随机推荐

  1. Paimon的写入流程

    基于Paimon 0.5版本 写入流程的构建org.apache.paimon.flink.sink.FlinkSinkBuilder#build 算子的流向 BucketingStreamParti ...

  2. 2020版IDEA配置Tomcat 10出现卡主问题

    问题描述 配置了2020版的IDE和Tomcat,但是产生了,日志打印中途,卡住了的问题,如图: 18-Aug-2021 00:46:09.763 信息 [main] org.apache.catal ...

  3. 用 C 语言开发一门编程语言 — 字符串与文件加载

    目录 文章目录 目录 前文列表 字符串 读取字符串 注释 文件加载函数 命令行参数 打印函数 报错函数 源代码 前文列表 <用 C 语言开发一门编程语言 - 交互式解析器> <用 C ...

  4. java的synchronized有几种加锁方式

    在Java中,synchronized关键字提供了内置的支持来实现同步访问共享资源,以避免并发问题.synchronized主要有三种加锁方式: 1.同步实例方法 当一个实例方法被声明为synchro ...

  5. 基于ADB Shell 实现的 Android TV、电视盒子万能遥控器 — ADB Remote ATV

    ADB Remote ATV Android TV 的遥控器,基于 ADB Shell 命令 ADB Remote ATV 是一个 Android TV 的遥控器,基于 ADB Shell 命令,泛用 ...

  6. golang 怎么获取kubernetes deployments的状态?

    如果我们需要把k8s的信息展示为一个友好的web页面.那么deployment 的信息基本上是非常重要的(大部分的服务都是使用deployment部署). 从yaml 中我们能获取到很多关于deplo ...

  7. spiderFlow学习笔记

    1.下载demo demo地址:代码下载,文档地址:文档下载 2.加入selenium插件 文档有些,但我琢磨了好一会(QAQ) ①先去码云下载 spider-flow-selenium ②再把插件丢 ...

  8. MySQL学习笔记-数据定义语言

    SQL-数据定义语言(DDL) 一.操作数据库 1.查询 # 查询所有数据库 show databases; # 查询当前数据库 select database(); 2.创建 create data ...

  9. Java方法传参中"..."的作用

    # Java方法传参中 `...` 类型名 介绍 - <font color = 'blue'>**类型 ... 类型名**</font> 表示可变长度的参数,本质是**数组* ...

  10. java中以字符分隔的字符串与字符串数组的相互转换

    1.字符串数组拼接成一个以指定字符(包括空字符)分隔的字符串--String.join(),JDK8的新特性 String[] strArray = {"aaa","bb ...