智能一代云平台(三十):逆向工程生成mybatis

 

【前言】

      最近在研究mybatis逆向工程的一些东西;通过研究Mybatis+通用mapper、逆向工程生成mybatis、Hibernate+mybatis;最终综合这些优点实现了一个我们自己的逆向工程;

【一些对比】

      一、《智能一代云平台(二十九):通用mapper的改造》为大家分享了对通用mapper的一些研究;说一下自己在研究过程中对他们的有缺点的总结:

           1、Mybatis+通用mapper:

               (1)优点:处理单表简单,简化mapper,可以应对实体变化;

               (2)缺点:以后不可控,遇到问题后解决问题的成本比较大,需要进行改造(比如其delete为真删除,我们需要保留数据做假删除);

           2、Hibernate+Mybatis:

               (1)优点:继承,实体变化不大,注解时间等通用字段;

               (2)缺点:引入Hibernate学习成本增高,需要解决集群情况下d缓存;

           3、我们的方案:

               (1)优点:结构清晰,完全可控;

               (2)缺点:需要一定的开发工作量;           

      二、我们的方案实现步骤:

           A.利用生成工具进行生成

           1、基于一套自动生成工具,自动生成工具地址:https://gitee.com/likun5/lk-generator/ 下载源码后可以用exe4j工具将源码编译成windows可运行程序(下文以test.exe为例);

           2、运行test.exe后,此时会发现C盘多了个.LKGenerator文件夹(见下图),此文件夹便为该生成软件的工作空间;

               (1)软件主界面

             智能一代云平台(三十):逆向工程生成mybatis_第1张图片                                                          

               (2)工作空间

               智能一代云平台(三十):逆向工程生成mybatis_第2张图片

           3、将模板文件(templates-var)拷贝到.LKGenerator文件夹中,拷贝完后的效果图:

  智能一代云平台(三十):逆向工程生成mybatis_第3张图片           4、进行数据库连接配置:

                (1)配置

   智能一代云平台(三十):逆向工程生成mybatis_第4张图片

                (2)配置数据库连接

    智能一代云平台(三十):逆向工程生成mybatis_第5张图片

           5、选取需要逆向生成的数据库表

                (1)选取表

              智能一代云平台(三十):逆向工程生成mybatis_第6张图片

                (2)选取表(注: 按住Ctrl可选多张表)

         智能一代云平台(三十):逆向工程生成mybatis_第7张图片

           6、生成元数据代码(注:此时生成的元数据代码是以下的生成代码的基础,故每次需要重新生成时必须先清空元数据代码目录):

         智能一代云平台(三十):逆向工程生成mybatis_第8张图片

           生成示意图:

          智能一代云平台(三十):逆向工程生成mybatis_第9张图片

           7、元数据生成代码的相关配置

       智能一代云平台(三十):逆向工程生成mybatis_第10张图片

           智能一代云平台(三十):逆向工程生成mybatis_第11张图片

           8、元数据生成代码,真正生成自己需要的代码(注:a.执行该步骤前请确保执行了步骤6---生成元数据代码b.若需重新生成需先 清空目标代码目录【点清空目标代码目录按钮即可】)

        智能一代云平台(三十):逆向工程生成mybatis_第12张图片

           生成成功示意图:

         智能一代云平台(三十):逆向工程生成mybatis_第13张图片

           B.将生成的代码拷贝到项目中

           1、打开目标代码目录:

                (1)点击打开目标代码目录

                   智能一代云平台(三十):逆向工程生成mybatis_第14张图片

                (2)生成代码所在目录

                  智能一代云平台(三十):逆向工程生成mybatis_第15张图片

           2、拷贝三次:

                (1)将api生成代码进行相关拷贝,见下图:

智能一代云平台(三十):逆向工程生成mybatis_第16张图片

                (2)将service生成代码进行相关拷贝,如下图:

智能一代云平台(三十):逆向工程生成mybatis_第17张图片

                (3)将web生成代码进行相关拷贝,如下图:

            智能一代云平台(三十):逆向工程生成mybatis_第18张图片

           3、此时再次在idea中查看发现在步骤一中的相应代码已经都存在(比如下图以api在idea中展示效果为例),至此完成逆向工程完成

 智能一代云平台(三十):逆向工程生成mybatis_第19张图片

 

           A.修改相应的ID进行测试

           1、在此以Building为例,从数据库中表中找一个ID---2rQw2VtJLiGWekevpyVbEY

           2、将ID填写到生成的jsp中

智能一代云平台(三十):逆向工程生成mybatis_第20张图片

           3、启动项目进行测试,先启动Service,然后启动Web

                (1)访问web后加表名/index

              智能一代云平台(三十):逆向工程生成mybatis_第21张图片

                (2)点击查找测试,查看web的控制台

             智能一代云平台(三十):逆向工程生成mybatis_第22张图片

【总结】

      1、权衡利弊,看得失;

      2、善于发现,多去总结;

      3、实践是检验真理的唯一标准,多动手。

你可能感兴趣的:(●【项目实战】,#,【智能一代云平台】)