社区里已经有不少 mybatis 的增强框架,基本上需要 spring 支持,并且 jdk 的版本需要7,而且大多数 oracle 分页插件在 oracle 数据库上,没有对行号做预置参数处理。总之社区的 mybatis 难以适应公司现在环境,索性重写个。
econagebatis 在 mybatis 基础上,做了一些扩展:
自动的 session 管理,session 生命周期与 request 一致
基本的 crud 功能,通过原生的 sqlsource 类,解决各个功能
针对 oracle,增强过的分页插件,开始行,结束行预置参数处理,避免硬解析
增强了 mybatis 中的 sqlprovider 注解的功能,在 econagebatis 中提倡使用 sqlprovider 注解编写 sql 语句,少用 xml
模仿 oschina 的 j2cache,开发了 econageCache 缓存组件,一级缓存使用 guava 的 cache 组件,二级缓存使用 redis,在单机环境可以只使用 guava 的 cache 组件,适配 mybatias,并做了若干优化,避免某些场景下的缓存失效导致数据库性能爆炸的问题(缓存组件需要jdk7支持)