java中Mapper图形化生成工具

笔者发现有很多公司都会在SSM框架中使用Mapper生成工具。

作为快速开发项目的一种方式,这种做法本身无可厚非。然而笔者认为mybatis官方提供mapper生成工具生成的xml语句实在是太罗嗦、太繁琐,不具可读性和可维护性。尤其是对于初、中级的程序员,上来就看到一堆恶心的机器生成的xml,会对他们产生非常不好的影响,极其不利于程序员的技术成长。

作为一个高级程序员,笔者认为采用mybatis官方的mapper生成器实在太low了。 ( 项目中要引入jar包依赖性太强,生成的xml代码也不是我想要的,而且也不利于程序员后期的维护)

虽然笔者一直推荐程序员手写xml ,但有时还是希望机器能够按照我们自己的喜好,帮助我们做点事情,节省点时间。

于是,笔者自己开发了一个自己的mapper生成器工具——一个小巧的图形化工具。如图:

使用这个工具,无须在项目中引入任何第三方jar包,也不需要在项目中做任何的配置,对我们的java项目没有任何的侵入性,因为它仅仅是一个java小工具,独立于任何的java项目, 使用java -jar mapperGen.jar命令即可运行 ,适合于mysq表的实体及xml的逆向生成。

表名:输入相应的mysql表。

实体名:输入实体的bean的简单名称。

名称空间:随意,生成后可再修改。(或者填入Mapper接口的全路径,后面就不需再修改了)

表字段(列)声明: 在SQLyog等mysql客户端中直接找到对应的表,把建表的DDL语句复制过来,仅保留列声明部分即可。例如:

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `sex` int(11) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `city` varchar(32) DEFAULT NULL,
  `describe` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8

我们去掉头部和尾部,仅保留列声明部分:

 `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `sex` int(11) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `city` varchar(32) DEFAULT NULL,
  `describe` varchar(200) DEFAULT NULL,

然后粘贴到表字段(列)声明的文本框中即可。 

注意:笔者开发的这个小工具有一些默认规则,须遵守。

1、字段声明语句中,字段名称需要用``符号包裹起来。

2、第一个字段须为表的主键字段

3、生成的java bean中的属性的数据类型,会根据sql中字段数据类型推导出。 例如  `name` varchar(32)会推导出 private String name, `id` int(11)会推导出private Integer id, `age` int(11) 会推导出private Integer age等。

 

实际使用时也非常的简单(笔者经常使用)。对于表字段(列)声明的文本框,我们只需要打开sqlyong等mysql客户端工具,找到相应的表,找到建表的DDL语句,复制粘贴过来,再去掉头部和尾部即可。点击"生成xml"、"生成bean"等按钮就开始生成了。

对于生成的xml语句,你也可以先粘到记事本(notepad命令打开)中,做简单的修改,或者直接粘贴到你的项目的XxxMapper.xml文件再根据自己需要修改下亦可。 

项目github地址: https://github.com/jellyflu/mapperGen 

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值