博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你还在手写 CRUD?试试 MybatisGenerator,再也不用加班了!
阅读量:1958 次
发布时间:2019-04-27

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

Java技术栈

www.javastack.cn

关注阅读更多优质文章

在使用 mybatis 过程中, 当手写 JavaBeanXML 写的越来越多的时候, 就越来越同意出错。这种重复性的工作, 我们当然不希望做那么多。

以下的工具使用的都是 IDEA,另外,关注公众号Java技术栈,在后台回复:idea,可以获取我整理的 IDEA 系列教程,非常齐全。

1、创建代码生成器

1.1 创建Maven项目

1.1.1 菜单上选择新建项目

File | New | Project

1.1.2 选择左侧的Maven

由于我们只是创建一个普通的项目, 此处点击 Next即可。

1.1.3 输入GroupIdArtifactId

在我的项目中,

GroupId 填 com.homejim.mybatis

ArtifactId 填 mybatis-generator

点击 Next

1.1.4 Finish

通过以上步骤, 一个普通的Maven项目就创建好了。另外,关注公众号Java技术栈,在后台回复:Maven,可以获取我整理的 Maven 系列教程,非常齐全。

1.2 配置 generator.xml

其实名字无所谓, 只要跟下面的 pom.xml 文件中的对应上就好了。

    
    
    
        
            
            
        
        
        
        
            
        
        
        
            
            
                
        
            
                
        
            
                
        
    

需要改一些内容:

  1. 本地数据库驱动程序jar包的全路径(必须要改)。

  2. 数据库的相关配置(必须要改

  3. 相关表的配置(必须要改

  4. 实体类生成存放的位置。

  5. MapperXML 生成文件存放的位置。

  6. Mapper 接口存放的位置。

如果不知道怎么改, 请看后面的配置详解

参考阅读:。

1.3 配置 pom.xml

在原基础上添加一些内容。

    
4.0.0
    
com.homejim.mybatis
    
mybatis-generator
    
1.0-SNAPSHOT
    
    
        
mybatis-generator
        
            
                
org.mybatis.generator
                
mybatis-generator-maven-plugin
                
1.3.7
                
                   
                   
src/main/resources/generator.xml
                    
true
                    
true
                
                
                    
                        
Generate MyBatis Artifacts
                        
                            
generate
                        
                    
                
                
                    
                        
org.mybatis.generator
                        
mybatis-generator-core
                        
1.3.7
                    
                
            
        
    
    

需要注意的是 configurationFile 中的文件指的是 generator.xml。因此路径写的是该文件的相对路径, 名称也跟该文件相同。

到此, mybatis-generator 就可以使用啦。

1.4 使用及测试

1.4.1 打开 Maven Projects 视图

在 IDEA 上, 打开:

View | Tools | Windwos | Maven Projects

1.4.2 Maven Projects 中双击 mybatis-generator

在右侧此时可以看到 Maven Projects 了。找到 mybatis-generator 插件。

mybatis-generator | Plugins | mybatis-generator | mybatis-generator

1.4.3 双击运行

运行正确后, 生成代码, 得到如下的结构:

2、XML 配置详解

仅仅是上面那么简单的使用还不够爽。那么我们就可以通过更改 generator.xml 配置文件的方式进行生成的配置。

2.1 优先

推荐查看官方的文档。

2.2 官网没有的

2.2.1 property 标签

该标签在官网中只是说用来指定元素的属性, 至于怎么用没有详细的讲解。

2.2.1.1 分隔符相关

以上的配置对应的是 mysql当数据库中的字段和数据库的关键字一样时, 就会使用分隔符。

比如我们的数据列是 delete, 按以上的配置后, 在它出现的地方, 就变成 delete

2.2.1.2 编码

默认是使用当前的系统环境的编码, 可以配置为 GBK 或 UTF-8。

我想项目为 UTF-8, 如果指定生成 GBK, 则自动生成的中文就是乱码。

2.2.1.3 格式化

这些显然都是可以自定义实现的的。

2.2.2 plugins 标签

plugins 标签用来扩展或修改代码生成器生成的代码。

在生成的 XML 中, 是没有  这个标签的。该标签是配置缓存的。

如果我们想生成这个标签, 那么可以 plugins 中进行配置。

    

比如你想生成的 JavaBean 中自行实现 Serializable 接口。

还能自定义插件。

这些插件都蛮有用的, 感觉后续可以专门开一篇文章来讲解。

2.2.3 commentGenerator 标签

看名称, 就知道是用来生成注释用的。

默认配置:

    
    
    

suppressAllComments:阻止生成注释, 默认值是false。

suppressDate: 阻止生成的注释包含时间戳, 默认为false。

addRemarkComments: 注释中添加数据库的注释, 默认为 false。

还有一个就是我们可以通过 type 属性指定我们自定义的注解实现类, 生成我们自己想要的注解。自定义的实现类需要实现 org.mybatis.generator.api.CommentGenerator

最后,关注公众号Java技术栈,在后台回复:面试,可以获取我整理的 Java 系列面试题和答案,非常齐全。

作者:阿进的写字台

出处:https://www.cnblogs.com/homejim/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

关注Java技术栈看更多干货

戳原文,获取精选面试题!

你可能感兴趣的文章
Java 序列化的一些简 单总结
查看>>
分布式架构下常见序列化技术-了解序列化的发展
查看>>
Java判断字符串是否为数字(浮点类型也包括)
查看>>
DNS服务各功能实现方法
查看>>
Nginx服务各功能实现方法
查看>>
docker 编译 文件 执行 dockerfile 报错 :debconf: delaying package configuration, since apt-utils is not ins
查看>>
ubuntu 完全卸载docker
查看>>
nvidia-docker 运行镜像
查看>>
Err:11 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 No
查看>>
2021-05-14 技术记录
查看>>
ubuntu opencv-python 安装很慢问题
查看>>
ubuntu 升级cmake 版本
查看>>
docker ubuntu 下 配置 opencv caffe 记录
查看>>
cudnn cuda-11.0
查看>>
2021-05-15 apt update 更新问题
查看>>
ubuntu 编译 cmake
查看>>
ubuntu安装caffe整个流程
查看>>
ubuntu 更改 gcc g++ 版本
查看>>
ERROR: Package ‘imageio‘ requires a different Python: 2.7.13 not in ‘>=3.5‘
查看>>
ValidationError: Value for sha256 cannot be None.
查看>>