Mybatis——可视化generator工具的介绍
来源:互联网 发布:python matplotlib安装 编辑:程序博客网 时间:2024/06/05 11:49
可视化generator工具的介绍
generator是什么?
generator是一个根据数据表来生成实体类、映射文件的代码生成器。
之前有一篇文章提到,mybatis麻烦的地方就是每一个对应数据表的实体类和映射文件都要自己写,现在有一种工具可以自动生成这些代码了。
推荐一篇好的文章,介绍如何使用generator自动生成代码的:http://www.cnblogs.com/smileberry/p/4145872.html
今天给大家推荐的不只是generator,而是可视化generator:mybatis-generator-gui
mybatis-generator-gui的使用
- 安装方法:Github地址
- 使用方法:Usage-Guide
根据介绍运行MainUI后显示的界面:
数据库user表的结构:
点击代码生成,查看目录:
MyBatis项目心得
我的项目:
先说一下我之前项目使用mybatis的经历,之前的项目第一次使用mybatis,使用过程全靠自己琢磨。当时是根据项目情况,缺少什么需求就在映射文件里面添加对应的sql语句。缺少什么功能,就直接新建实体类,新建映射文件。或者在映射文件中添加resultMap。
造成的结果:
结果就是一团乱,比如数据表新增了一个字段,就需要把用到该表的所有映射文件中的内容都改了,把实体类改了,把接口改了。牵一发而动全身,好恐怖。
同事的项目:
最近看了同事做的项目,整体结构特别清晰明了。
- 引入一个中间接口MapperPlus来继承Mapper接口,映射文件中namespace使用MapperPlus接口地址,自己手动写的sql语句放在最下面使用注释标明。
- 使用Example,尽量少的在映射文件中编写复杂语句。
- 一个数据表对应一个映射文件,尽量不新增新的映射文件
好处:
1、使用mapperPlus的好处是,如果你修改数据库字段,使用generator自动生成的文件可以直接复制过来。如果有自己手动写的sql语句,可以直接复制然后,把整个文件夹copy过来。不需要修改mapper接口中任何东西。
2、第二点的好处,是有一些业务逻辑需要的数据不是从一个表中获取的,而是从多个表中同时获取的。因此,这种情况我们一般有两种处理的办法。像我之前的那种处理办法,在映射文件中重新写一个resultMap,这种方法不利于修改。第二种就是在impl中处理,从多个映射文件中获取数据。这样写的好处是逻辑清楚,便于修改。
总结:同事这种方法使得结构清晰,逻辑明了,映射文件、实体类、Mapper接口替换简单,便于替换。
推荐文章:http://www.cnblogs.com/kankan1218/p/6142819.html
- Mybatis——可视化generator工具的介绍
- mybatis generator 工具的使用
- MyBatis Generator工具的使用
- mybatis generator 工具的使用
- Mybatis-generator工具的使用
- mybatis-generator工具的使用
- 一个很好用的自动生成工具——mybatis generator
- mybatis-generator-tool工具的使用
- mybatis工具generator使用
- mybatis-generator介绍
- mybatis-Mybatis Generator工具的使用和配置
- 介绍一款可视化的流程定义工具
- mybatis-generator-core工具使用
- MyBatis Generator Tool工具使用方法
- MyBatis-generator 代码生成工具
- 使用Mybatis Generator 工具逆向
- 数据库逆向框架代码生成工具:MyBatis Generator的使用
- 数据库逆向框架代码生成工具:MyBatis Generator的使用
- Leetcode32. Longest Valid Parentheses
- [LeetCode]10. Regular Expression Matching
- Button点击效果
- JVM(PART II)Eden Survivor名称由来
- php中面向对象的封装和继承
- Mybatis——可视化generator工具的介绍
- Servlet与Filter的区别
- 如何在Qt中安装事件过滤器
- 【BZOJ1026】【数位DP】windy数 题解
- 从键盘输入若干个字符,逐个存到磁盘文件data.txt中,直到输入’\n’为止,并将建立的文本文件的内容在存入文件的同时,在屏幕上显示出来:
- leetcode---word-search---dfs
- IEEE会议论文-Font Helvetica is not embedded
- Encrypt 原理记录
- NYOJ