作者:禅与计算机程序设计艺术
1.简介
概念:插件(plugin)是Mybatis中的一个重要机制,它可以增强或改变Mybatis核心功能,无需修改源码。这里所说的插件主要包括两类:mybatis-generator、mybatis-pagehelper等。
为什么需要插件?从mybatis的官方网站上可知,Mybatis是一个优秀的持久层框架,它支持定制化SQL、缓存、绑定变量和映射,适合中小型项目,但对于复杂的需求却不太好用。因此,mybatis提供了一些扩展插件来满足复杂业务下的需求。比如:mybatis-generator可以使用逆向工程自动生成Dao接口、XML映射文件、对应的实体类;mybatis-pagehelper通过拦截器或者注解的方式实现对单一SQL分页的支持。
那么,什么样的插件才能称之为“Mybatis 插件”呢?个人觉得应该具备以下几个特征:
1.能够做到业务无关性。例如mybatis-generator只能生成JavaBean、XML文件和DAO接口,不能兼容Springmvc等其他框架;mybatis-pagehelper不仅能实现分页,还能提升查询性能;
2.能够完整实现其功能。例如mybatis-generator的生成过程不能丢失某个关键参数,mybatis-pagehelper必须在页面标签上增加特殊属性;
3.提供足够详细的文档和示例。这是最重要的,因为插件的使用往往都要依赖第三方库,没有文档就无法正确使用;
4.具有良好的兼容性和稳定性。插件必须要经过充分测试才会发布,它的升级迭代也应当兼容旧版本;
5.能够有效利用资源。插件使用的资源(如内存、CPU、网络等)应当少且可控。
本文将基于以下三个知