若是你从事软件开发工做有了一段时间的话,那么确定听过关于“本身动手仍是花钱购买” 的争论。该争论是说,针对一个业务问题,咱们是应该本身动手构建本身的解决方案呢,仍是应 该花钱购买一个声称已经解决了此问题的软件包。一般付出的代价是差很少的(不然也就没什么好争论的了),但真正的权衡其实在于“本身动手所要花费的时间”与“花钱购买来的软件包和 咱们要解决的问题的契合度”。本身构建的软件固然能恰到好处地符合业务需求,但实现它确实 须要更多的时间。购买软件包固然很是迅速,但有时又不必定能知足咱们全部的需求。基于这个 缘由,当决定购买软件包时,咱们每每会在买回之后对它进行改造,修改它的私有数据库,扩展 它所遗漏的特征,这样就能够一箭双鵰了。html
咱们其实能够好好讨论一下深刻别人的私有数据库并修改它是一件多么麻烦的事,但在此我想告诉你的只有一句话,私有数据库毫不是为了方便第三方修改而设计的。其设计中每每充满了假设、限制以及非标准的数据类型,还有其余像“请勿修改,不然后果自负”这样的警告信号。 但企业为了省钱,每每会不顾这些警告信号而作出一些惊人的事情。所以软件开发人员就注定要 深陷在这些私有数据库构成的丛林中,艰难探索了。数据库
MyBatis在处理私有数据库时一样是一个很是优秀的持久化框架。一般这样的数据库只容许只 读访问,使用MyBatis时,对这样的需求你大可放心,由于你能够限制运行的SQL的类别。当需求 不容许数据库更新时,MyBatis毫不会对数据库执行任何神奇的更新操做。当须要更新时,私有数据库每每对数据的组织方式很是挑剔。MyBatis容许编写很是特定的更新语句以处理这种状况。框架
若是说有什么东西的存在是现代面向对象软件开发人员的祸害的话,那么无疑是遗留数据库 了。遗留数据库每每是曾经的企业数据库。它们具备企业数据库的各类复杂性和依赖关系。此外, 它们还具备终年累月的修改、快速修正、掩饰、绕弯路、绷带解决方案以及技术限制所带来的无尽的“伤痕”。更重要的是,遗留数据库一般是在不只已通过时并且有时已彻底不被支持的老式 平台上开发出来的。所以对于现代开发人员来讲可能已经没有适当的驱动程序和开发工具可用 了。工具
MyBatis对于遗留数据库一样是有帮助的。只要你正在工做的系统有合适的数据库驱动程序可用,MyBatis就能够像对其余任何数据库那样发挥做用。事实上,MyBatis多是处理遗留数据库问题最好的持久化框架了,由于它对数据库的设计没有作任何假设,因此即便是对于最让开发人员头痛的遗留数据库,它也能够处理。开发工具
系列文章:spa