Mybatis 逆向工程 自动生成代码
Mybatis 可以通过一定的代码,自动生成包括mapper.xml、mapper.java、po等文件;
一、环境准备:
用到的JAR包如下:
文件只有两个:GenMain.java和generatorConfig.xml文件,都放在src目录下。
二、实现方法
1、新建一个JAVA项目,
GenMain.java(主文件)
1 import java.io.File; 2 import java.io.IOException; 3 import java.sql.SQLException; 4 import java.util.ArrayList; 5 import java.util.List; 6 7 import org.mybatis.generator.api.MyBatisGenerator; 8 import org.mybatis.generator.config.Configuration; 9 import org.mybatis.generator.config.xml.ConfigurationParser; 10 import org.mybatis.generator.exception.InvalidConfigurationException; 11 import org.mybatis.generator.exception.XMLParserException; 12 import org.mybatis.generator.internal.DefaultShellCallback; 13 14 public class GenMain { 15 public static void main(String[] args) { 16 List<String> warnings = new ArrayList<String>(); 17 boolean overwrite = true; 18 String genCfg = "generatorConfig.xml"; 19 File configFile = new File(GenMain.class.getResource(genCfg).getFile()); 20 ConfigurationParser cp = new ConfigurationParser(warnings); 21 Configuration config = null; 22 try { 23 config = cp.parseConfiguration(configFile); 24 } catch (IOException e) { 25 e.printStackTrace(); 26 } catch (XMLParserException e) { 27 e.printStackTrace(); 28 } 29 DefaultShellCallback callback = new DefaultShellCallback(overwrite); 30 MyBatisGenerator myBatisGenerator = null; 31 try { 32 myBatisGenerator = new MyBatisGenerator(config, callback, warnings); 33 } catch (InvalidConfigurationException e) { 34 e.printStackTrace(); 35 } 36 try { 37 myBatisGenerator.generate(null); 38 } catch (SQLException e) { 39 e.printStackTrace(); 40 } catch (IOException e) { 41 e.printStackTrace(); 42 } catch (InterruptedException e) { 43 e.printStackTrace(); 44 } 45 } 46 }
配置文件: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 6 <generatorConfiguration> 7 <context id="testTables" targetRuntime="MyBatis3"> 8 <commentGenerator> 9 <!-- 是否去除自动生成的注释 true:是 : false:否 --> 10 <property name="suppressAllComments" value="true" /> 11 </commentGenerator> 12 <!--数据库连接的信息:驱动类、连接地址、用户名、密码 --> 13 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 14 connectionURL="jdbc:mysql://localhost:3306/mybatis" 15 userId="root" 16 password="123456"> 17 </jdbcConnection> 18 19 <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 20 NUMERIC 类型解析为java.math.BigDecimal --> 21 <javaTypeResolver> 22 <property name="forceBigDecimals" value="false" /> 23 </javaTypeResolver> 24 25 <!-- targetProject:生成PO类的位置 --> 26 <javaModelGenerator targetPackage="com.itheima.mybatis.po" 27 targetProject=".\src"> 28 <!-- enableSubPackages:是否让schema作为包的后缀 --> 29 <property name="enableSubPackages" value="false" /> 30 <!-- 从数据库返回的值被清理前后的空格 --> 31 <property name="trimStrings" value="true" /> 32 </javaModelGenerator> 33 <!-- targetProject:mapper映射文件生成的位置 --> 34 <sqlMapGenerator targetPackage="com.itheima.mybatis.mapper" 35 targetProject=".\src"> 36 <!-- enableSubPackages:是否让schema作为包的后缀 --> 37 <property name="enableSubPackages" value="false" /> 38 </sqlMapGenerator> 39 <!-- targetPackage:mapper接口生成的位置 --> 40 <javaClientGenerator type="XMLMAPPER" 41 targetPackage="com.itheima.mybatis.mapper" 42 targetProject=".\src"> 43 <!-- enableSubPackages:是否让schema作为包的后缀 --> 44 <property name="enableSubPackages" value="false" /> 45 </javaClientGenerator> 46 <!-- 指定数据库表 --> 47 <table schema="" tableName="user"></table> 48 <table schema="" tableName="orders"></table> 49 <table schema="" tableName="orderdetail"></table> 50 <table schema="" tableName="items"></table> 51 52 <!-- 有些表的字段需要指定java类型 53 <table schema="" tableName=""> 54 <columnOverride column="" javaType="" /> 55 </table> --> 56 </context> 57 </generatorConfiguration>
数据库基本配置和生成文件的目录,都在上述文件中配置;
转载于:https://www.cnblogs.com/lrzy/p/8422796.html
Mybatis 逆向工程 自动生成代码相关推荐
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- Mybatis逆向工程自动生成代码文件
一般来说都会新建另外一个项目,用于生成代码文件,然后拷贝到需要的项目中.新建maven项目用于生成代码文件,项目目录如下所示: pom.xml内容如下: <project xmlns=" ...
- MyBatis逆向工程自动生成代码(附数据库表结构)
一.逆向工程介绍 逆向工程是一个专门为 MyBatis 框架使用者设计的代码生成器,可以根据数据库中的表字段名,自动生成 POJO 类,mapper 接口与 SQL 映射文件.支持基本的增删改查功能, ...
- 【MyBatis框架】mybatis逆向工程自动生成代码
逆向工程 1.什么是逆向工程 mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xm ...
- SSM+Maven整合时在Eclipse中使用Mybatis逆向工程自动生成代码
场景 MybatisGenerator 官方文档 http://www.mybatis.org/generator/configreference/xmlconfig.html 实现 项目搭建好完整的 ...
- SpringBoot如何自动生成实体类和Dao层以及映射文件(mybatis generator 自动生成代码)
一.首先添加自动生成代码插件 <!-- mybatis generator 自动生成代码插件 生成时解除注释 --><plugin><groupId>org.myb ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...
- Mybatis中自动生成代码(利用mybatis-generator-core-1.3.2)
Mybatis中自动生成代码(利用mybatis-generator-core-1.3.2) 引言: 在使用mybatis开发的过程中,通常我们会给数据库的每张表编写对应的po.mapper.mapp ...
- 使用Mybatis Generator自动生成代码
MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器. 它将为所有版本的MyBatis以及版本2.2.0之后的iBATIS版本生成代码. 它将内省数 ...
最新文章
- 开源引领的万亿级市场,该如何打造出成功的商业模式?
- Elixir: 多太(Polymorphism)
- [ -~] 所有的可打印字符
- LeetCode 916. 单词子集(计数)
- 组合赋权法之matlab
- java数据源的几种配置
- android db加载后无法读取任何内容_android性能优化(二)之卡顿优化
- php自带count 函数,深入理解PHP 数组之count 函数
- 腾讯云主机安全防护(云镜)/usr/local/qcloud/YunJing/YDEyes/YDService 卸载
- Sigmod/Softmax变换
- 资深技术专家张荣华:架构的方法论
- android view
- java 微博 开源_微博开源框架Motan初体验
- Notepad++下载markdown viewer plugin
- ftp服务器文件无法删除,ftp服务器文件删除
- 爬虫 爬取豆瓣高分电影信息
- 电磁波传播matlab程序,电磁波在不同介质中传播的 MATLAB 仿真教学实践论文
- C++获取文件夹内子文件夹名
- #PRBS# PRBS7高速串行总线的常用测试码型
- 聚宝匯wap站测试工具版本号
热门文章
- linux mail命令查看邮件/mail控制台
- VUE 项目作为服务启动
- 支持树莓派的路由器系统_用树莓派打造无线路由器
- python最好的教程_喜大普奔~可能是最好的Python教程
- 查看Tomcat版本及多版本切换
- php+mysql案例含源码_【专注】Zabbix源码安装教程—步骤详解(1)安装前准备
- torchvision0.2.2_Xcode 10.2
- elasticsearch 7.8.0 kibana 7.8.0安装部署
- 老师吴恩达,身家又增20亿!
- Python 中的面向对象没有意义