ibatis3.0GA试用感受

刚试用一下,基本架构和2没有大区别,有几点大的改变:
1、Dynamic Sql全部用OGNL实现,简洁很多,但有跟风之嫌,不觉得比2原创的动态机制实用,很多情况下更繁琐,另一方面,这个变更也让ibatis2的代码向3转移变得几乎不可行;
2、更简洁、清晰,但扩展性却全面增强,很多核心类都能基于接口进行替换,说明整个设计水准提高很多;
3、可选的Annotation编程方式,除了Mapper接口在编程时有点效率方面的优势外,基本是跟风的鸡肋。
4、多个数据库/源的支持从主配置文件上清晰的给予定义:environments标签。
5、级联嵌套Mapping机制有很大的增强,新的association标签十分强大。
6、别致、强大的SelectBuilder,拼写sql的好工具。

存疑的地方:
1、内置的数据库连接池的可靠性和性能存疑,3未内置支持C3P0、DBCP等常用开源连接池,貌似iBATIS老大对新的内置数据库连接池挺有信心,源代码快速过了一下,一个大类搞定,建议商用还是换成DBCP、C3P0等。
2、性能能否超越版本2?存疑,官方没有给明确的说明,ibatis2.3后已经基于jdk1.5,08年至今,性能已经充分优化,3扩展性的极大提升、Annotation支持、OGNL的使用等因素对性能应该有一定负面影响,有兴趣的兄弟可以对比测试一下,但务必注意cache的问题,3的cache机制有很多改进。

大型的商业项目个人建议暂时不要使用3,试用过程中感觉在文档支持、最佳实践、代码质量等方面ibatis3还不够成熟,那个官方的手册也写得很随意。

BTW:配置ibatis3很简单,基本和2类似,很多人在等待Spring社区的集成,都被惯坏了,看完官方手册,10分钟就能搭建好。

你可能感兴趣的:(spring,sql,编程,ibatis,配置管理)