GeneratorSqlMapCustom(mybatis逆向工程)
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逆向工程)相关推荐
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- mybatis逆向工程配置文件怎么再偷懒(懒出天际)
使用mybatis逆向工程时,需要在逆向工程配置文件那里指定要对那些表进行逆向工程,如果数据表很多的话,一个一个地写有点麻烦,为什么不自动生成这些XML字段呢 (我的需求是,将数据表首字母大写,然后下 ...
- mybatis逆向工程生成的实体类和表不一致缺少某些字段或者出现其他字段
错误展示 数据库中product表的相应字段 使用Mybatis逆向工程生成的Procuct实体类 大家可以看到生成的文件和表对比,多了些别的字段,少了表中对应的字段. 原理 那是因为mybatis逆 ...
- springboot整合mybatis增删改查(三):mybatis逆向工程
上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...
- mybatis 逆向工程使用姿势不对,把表清空了,心里慌的一比,于是写了个插件。
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:又一程序员进了ICU:压垮一个家庭,一张结算单就够 个人原创100W+访问量博客:点击前往,查看更多 荒腔走板 ...
- Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误
前言 声明:这个错误只是作者在学习时候的一种情况,并不一定能够解决所有情况.还望各位审视出错具体环境!谢谢. 今天使用mybatis逆向工程 springboot本想着少写点代码,但被个bug纠缠到死 ...
- IDEA中Mybatis逆向工程使用方法
1.首先创建一个Spring Boot项目 工程目录如下所示: 2..添加maven依赖 <!--mysql依赖--> <dependency><groupId>m ...
- MyBatis 逆向工程(MyBatis 自动生成接口以及xml)的使用
刚学MyBatis逆向工程(还以为要反汇编呢.....) MyBatis逆向工程 个人理解就是链接数据库自动生成相关的增删改查相关的类 以及xml文件 (其中有一些不足 应该就是多表链接的问题需要自己 ...
- Mybatis 逆向工程使用姿势不对文档全被清空,一怒之下写了个插件……
作者 | why技术 责编 | 王晓曼 来源 | why技术 荒腔走板 时间过的真是快,一周又要结束了.那么,你比上周更博学了吗?先来一个简短的荒腔走板,给冰冷的技术文注入一丝色彩. 上面这张照片是我 ...
最新文章
- 软件工程-第三次作业
- mvc mvp mvvm
- FD.io/VPP — VNF 应用场景
- 关于string类型的字符串是否以\0结尾
- ajaxfileupload上传显示图片_有了这个AI图片转换器,风景照片秒变二次元动画
- AtCoder AGC004E Salvage Robots (DP)
- hibernate课程 初探单表映射1-4 hibernate开发前准备
- get assigned pageset and my pages
- 文档分析与识别技术回顾与反思
- springbatch读取外部数据到mysql
- java生产订单号_java 生成订单号
- python做客户端适合吗_为了选出最合适的 HTTP 客户端,我做了个测评
- 线性判别分析(Linear Discriminant Analysis ,简称LDA)
- 自媒体剪辑中常用的premere快捷键
- 3dmax软件导入模式删除四种场景广告方式
- 思岚S2激光雷达2—SDK和实例程序的编译
- 用米粒填充国际棋盘python
- 关于图像模式识别的几种分类方法概述
- vue地图单个打点定位
- 线性代数——二次型化为标准型的总结
热门文章
- Access to XMLHttpRequest at file from origin ‘null‘ has been blocked by CORS policy谷歌浏览器本地打开项目js文件报错
- mybatis ResultMap
- Bert系列(二)——源码解读之模型主体
- HMM——维特比算法(Viterbi algorithm)
- LeetCode简单题之反转字符串
- 左神讲算法——二分法及其拓展
- 特征提取,转换和选择
- TinyML-TVM是如何驯服Tiny的(下)
- 使用Nucleus SE实时操作系统
- CUDA 11功能展示