博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis系列(五):mybatis逆向工程
阅读量:5761 次
发布时间:2019-06-18

本文共 3407 字,大约阅读时间需要 11 分钟。

一、背景        

        在实际开发中我们会自己去写mapper映射文件,接口,数据库表对应的实体类,如果需求任务比较少,咱们还可以慢慢的一个一个去写,但是这是不现实的,因为在工作中我们的任务是很多的,这时mybatis逆向工程就能帮助我们节省这部分的时间了,因为mybatis逆向工程能根据数据库的表结构生成对应的mapper映射文件,接口,实体类

二、实践

1. 新建一个mybatis逆向工程测试的项目MybatisReverseProject和生成文件存放的项目MybatisTest,使用的mybatis-generator-core是借鉴githup上的一个兄弟改写源码的,他的已经能满足我的需求了,有需要的同学可以自己去改写,改写内容如下:

             生成的*mapper.xml文件中使用4个空格来缩进

             生成的*mapper.xml文件中每个元素间增加一空行,如insert,update,delete等之间增加一空行
             去掉*mapper.xml文件中生成的注释
             根据数据库表名及字段的注释为Java类、属性增加注释,可以在源码org.mybatis.generator.internal.db.DatabaseIntrospector.java类中根据个人情况进行修改
             实现每次生成都覆盖生成文件

 

         

     

 2.在数据库里面建立需要使用的表

1 CREATE TABLE `t_user` (2   `id` int(11) NOT NULL AUTO_INCREMENT,3   `username` varchar(30) NOT NULL COMMENT '用户名称',4   `birthday` date DEFAULT NULL COMMENT '生日',5   `sex` char(2) DEFAULT NULL COMMENT '性别',6   `address` varchar(256) DEFAULT NULL COMMENT '地址',7   PRIMARY KEY (`id`)8 ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COMMENT='用户信息表';

3. 在generatorConfig.xml文件中配置数据库连接的信息,配置生成实体类的位置、生成mapper映射文件生成的位置、生成mapper接口生成的位置,以上配置的3个路径为你项目的路径;指定要逆向生成代码的数据库的表

1 
2 5 6
7
8
9
10
11
12
13
16
20
22
23
24
25 26
27
29
30
31
32
33
34
35
37
38
39
40
41
43
44
45
46 47
48
51 52
54
55

4. 启动主程序GeneratorSqlmap.java生成需要的文件

1 package com.lgs.reverse.start; 2  3 import java.io.File; 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.internal.DefaultShellCallback;11 12 /**13  * 根据数据库定义的表结构生成实体类、接口、mapper映射文件的主类14  * 使用的mybatis-generator-core是借鉴githup上的一个兄弟改写源码的, 他的已经能满足我的需求了有需要的同学可以自己去改写15  * 16  * @author lgs17  *18  */19 public class GeneratorSqlmap {20 21     public void generator() throws Exception {22 23         List
warnings = new ArrayList
();24 boolean overwrite = true;25 // 指定 逆向工程配置文件26 File configFile = new File("config/generatorConfig.xml");27 ConfigurationParser cp = new ConfigurationParser(warnings);28 Configuration config = cp.parseConfiguration(configFile);29 DefaultShellCallback callback = new DefaultShellCallback(overwrite);30 MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);31 myBatisGenerator.generate(null);32 33 }34 35 public static void main(String[] args) throws Exception {36 try {37 GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();38 generatorSqlmap.generator();39 } catch (Exception e) {40 e.printStackTrace();41 }42 43 }44 45 }

5. 需要完整项目的同学可以去我的githup上下载,下载地址https://github.com/leeSmall/MybatisReverseProject

转载于:https://www.cnblogs.com/leeSmall/p/7704406.html

你可能感兴趣的文章
【JS基础】初谈JS现有的数据类型
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
Microsoft发布了Azure Bot Service和LUIS的GA版
查看>>
Google发布Puppeteer 1.0
查看>>
何时该用无服务器,何时该用Kubernetes?
查看>>
窗口进度条及其高级使用
查看>>
实录分享&视频 | 微软Visual Studio Code是这样支持Docker的
查看>>
放弃OpenStack?恐怕还不到时候
查看>>
苏宁精准营销之生成人群包的演进
查看>>
.NET开源现状
查看>>
Dave Farley:持续交付的基本原理
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
【资料搬迁】windows 下更改mysql的root密码
查看>>
openfiler简单使用
查看>>
Linux基于libmemcached,php扩展memcached的安装
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
AMD改善Linux驱动,支持动态电源管理
查看>>
idea 用Tomcat进行热部署遇到的问题
查看>>