GeneratorSqlMapCustom可以当做一个自动加载POJO,mapper接口和对应xml的工具来使用,先贴上源码链接

点击这里:GitHub源码链接

用法看源码注解,项目内容如下:

GeneratorSqlmap.java

import java.io.File;
import java.util.ArrayList;
import java.util.List;import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;public class GeneratorSqlmap {public void generator() throws Exception {List<String> warnings = new ArrayList<String>();boolean overwrite = true;//指定 逆向工程配置文件File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings);myBatisGenerator.generate(null);}public static void main(String[] args) throws Exception {try {GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();generatorSqlmap.generator();} catch (Exception e) {e.printStackTrace();}}
}

log4j.properties

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.org.apache=INFO
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><context id="testTables" targetRuntime="MyBatis3"><commentGenerator><!-- 是否去除自动生成的注释 true:是 : false:否 --><property name="suppressAllComments" value="true"/></commentGenerator><!--数据库连接的信息:驱动类、连接地址、用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/bookstore"userId="root"password="763081703"></jdbcConnection><!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和NUMERIC 类型解析为java.math.BigDecimal --><javaTypeResolver><property name="forceBigDecimals" value="false"/></javaTypeResolver><!-- targetProject:生成PO类的位置 --><javaModelGenerator targetPackage="cn.dave.bookstore.pojo"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><!-- targetProject:mapper映射文件生成的位置 --><sqlMapGenerator targetPackage="cn.dave.bookstore.mapper"targetProject=".\resource"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></sqlMapGenerator><!-- targetPackage:mapper接口生成的位置 --><javaClientGenerator type="XMLMAPPER"targetPackage="cn.dave.bookstore.mapper"targetProject=".\src"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/></javaClientGenerator><!-- 指定数据库表 --><table tableName="admin"></table><table tableName="book"></table><table tableName="category"></table><table tableName="orderitem"></table><table tableName="orders"></table><table tableName="tb_user"></table><!-- <table schema="" tableName="sys_user"></table><table schema="" tableName="sys_role"></table><table schema="" tableName="sys_permission"></table><table schema="" tableName="sys_user_role"></table><table schema="" tableName="sys_role_permission"></table> --><!-- 有些表的字段需要指定java类型<table schema="" tableName=""><columnOverride column="" javaType="" /></table> --></context>
</generatorConfiguration>

可能会出现的两个错误:

1.Exception in thread "main" java.lang.UnsupportedClassVersionError: com/devin/app/Generator : Unsupported major.minor version 52.0 这是因为这个项目用的编译环境是jdk1.7,而你的可能是jdk1.8,解决办法:右击项目–>properties–>java compiler –> Enable project specific settings –>将compiler compliance level

2.No embedded stylesheet instruction for file

在点击运行的时候当前打开的文档为xml文件,解决办法,关闭xml文件再运行

GeneratorSqlMapCustom(mybatis逆向工程)相关推荐

  1. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  2. mybatis逆向工程配置文件怎么再偷懒(懒出天际)

    使用mybatis逆向工程时,需要在逆向工程配置文件那里指定要对那些表进行逆向工程,如果数据表很多的话,一个一个地写有点麻烦,为什么不自动生成这些XML字段呢 (我的需求是,将数据表首字母大写,然后下 ...

  3. mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段

    错误展示 数据库中product表的相应字段 使用Mybatis逆向工程生成的Procuct实体类 大家可以看到生成的文件和表对比,多了些别的字段,少了表中对应的字段. 原理 那是因为mybatis逆 ...

  4. springboot整合mybatis增删改查(三):mybatis逆向工程

    上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...

  5. mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 荒腔走板 ...

  6. Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误

    前言 声明:这个错误只是作者在学习时候的一种情况,并不一定能够解决所有情况.还望各位审视出错具体环境!谢谢. 今天使用mybatis逆向工程 springboot本想着少写点代码,但被个bug纠缠到死 ...

  7. IDEA中Mybatis逆向工程使用方法

    1.首先创建一个Spring Boot项目 工程目录如下所示: 2..添加maven依赖 <!--mysql依赖--> <dependency><groupId>m ...

  8. MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用

    刚学MyBatis逆向工程(还以为要反汇编呢.....) MyBatis逆向工程 个人理解就是链接数据库自动生成相关的增删改查相关的类 以及xml文件 (其中有一些不足 应该就是多表链接的问题需要自己 ...

  9. Mybatis 逆向工程使用姿势不对文档全被清空,一怒之下写了个插件……

    作者 | why技术 责编 | 王晓曼 来源 | why技术 荒腔走板 时间过的真是快,一周又要结束了.那么,你比上周更博学了吗?先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩. 上面这张照片是我 ...

最新文章

  1. 软件工程-第三次作业
  2. mvc mvp mvvm
  3. FD.io/VPP — VNF 应用场景
  4. 关于string类型的字符串是否以\0结尾
  5. ajaxfileupload上传显示图片_有了这个AI图片转换器,风景照片秒变二次元动画
  6. AtCoder AGC004E Salvage Robots (DP)
  7. hibernate课程 初探单表映射1-4 hibernate开发前准备
  8. get assigned pageset and my pages
  9. 文档分析与识别技术回顾与反思
  10. springbatch读取外部数据到mysql
  11. java生产订单号_java 生成订单号
  12. python做客户端适合吗_为了选出最合适的 HTTP 客户端,我做了个测评
  13. 线性判别分析(Linear Discriminant Analysis ,简称LDA)
  14. 自媒体剪辑中常用的premere快捷键
  15. 3dmax软件导入模式删除四种场景广告方式
  16. 思岚S2激光雷达2—SDK和实例程序的编译
  17. 用米粒填充国际棋盘python
  18. 关于图像模式识别的几种分类方法概述
  19. vue地图单个打点定位
  20. 线性代数——二次型化为标准型的总结

热门文章

  1. Access to XMLHttpRequest at file from origin ‘null‘ has been blocked by CORS policy谷歌浏览器本地打开项目js文件报错
  2. mybatis ResultMap
  3. Bert系列(二)——源码解读之模型主体
  4. HMM——维特比算法(Viterbi algorithm)
  5. LeetCode简单题之反转字符串
  6. 左神讲算法——二分法及其拓展
  7. 特征提取,转换和选择
  8. TinyML-TVM是如何驯服Tiny的(下)
  9. 使用Nucleus SE实时操作系统
  10. CUDA 11功能展示