智能一代云平台(二十九):通用mapper的改造

【前言】

       最近研究一下Mybatis的通用mapper,然后对其进行了一些改造以适合我们的系统,接下来为大家分享一下我的研究思路以及研究成果。

【研究之路】

       一、ORM框架选型:

              1、我们最近对我们的项目进行重构,关于ORM框架的选型进行了相关调研(入选我们候选之列有ORM经典框架:Hibernate和Mybatis)

              2、Hibernate  VS   Mybatis

                (1)Hibernate优缺点:

                        A、优点:抽象比较好,可以无缝切换不同数据源而无需改动代码;

                        B、缺点:学习成本高,批量操作效率低;

                (2)Mybatis优缺点:

                        A、优点:学习成本低,批量操作效率高;

                        B、缺点:不支持无缝切换数据源;

                (3)总结:

                         根据目前业务场景,各个框架的优缺点以及开发人员的水平,我们最终选用Mybatis;用Mybatis的话,逆向工程等一些东西肯定需要用上以此来加快开发;

       二、如何让Mybatis也具有Hibernate的一些优点:

              通过改造Mybatis让其拥有HIbernate的一些特性,我负责这块儿的研究,从网上查了些资料后发现有两种实现的方式:

              1、逆向工程的思路;

              2、通用mapper的思路(通用mapper的码云网站);

              小结:篇幅有限,逆向工程的思路在接下来的博文中会为大家详细介绍,接下来主要为大家绍通用mapper;

       三、我们项目更适合哪种:

              1、通用mapper在应用到我们系统中遇到的一些问题:

                    在研究的过程中发现使用通用mapper需要自己做些改造来适应我们的项目,比如删除的方法,我们项目需用假删除等等;而且也会有一些潜在的坑,如果遇到需要花费一些时间去修改;

              2、结合通用mapper改造我们自己写的逆向工程从而更适合我们的项目:

                   用我们自己写的逆向工程(参考《智能一代云平台(三十):逆向工程生成mybatis》)在我们项目实践中十分的好用;最终我们采用自己的写的逆向工程(借鉴通用mapper);

                     

【总结】

       1、在研究的过程从通用mapper中学到了一些良好的思路,比如可以将单表的增删改的一些操作直接封装到baseservice这样可以少写很多代码;

       2、权衡利弊看得失,适合自己的才是最好的。

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