你以为 MyBatis 一直都是这样?带你看看它改名前的“老祖宗”—— iBATIS 2.3.4。

刚从一套 2010 年的电信系统里扒出来的持久层:

Maven 坐标是 org.apache.ibatis,但包名还是 com.ibatis;

307 个存储过程调用,全靠 HashMap 传参,问号数量、参数顺序、Map 的 key 三处必须靠手工对齐,错一个直接运行时报错;

游标结果集得自己写 TypeHandler,用 CachedRowSet 全量读进内存;

四个 SqlMapClient 解析同一份 XML,但事务管理器只认一个数据源。

没有 Mapper 接口,没有注解,一切全靠 XML。这份极其硬核的持久层考古报告,带你看懂十多年前的底层设计👇
展开
2