持久层使用了iBatis后,大家的编码风格统一了,可以集中精力进行业务组件的编写了。
以下是个人感受:
1.缓存不用太可惜,不过具体用哪一种(MEMORY LUR FIFO OSCACHE)容量设多大,都得根据项目的实际情况来定,我通常首选LUR。正确设定缓存的Flush语句,杜绝缓存中脏数据产生的可能。缓存使用前提是,系统中对表的读写一定要都通过ibatis来进行,也就是封闭的。
2.动态SQL的确是个强点。熟悉后感觉很不错。iBatis中所有的DAO方法都只传一个值对象,复杂查询当然也不例外。
3.复杂对象一定要lazyload = true. 对于性能上有一定的好处。
4.iBatis其实已经把Dao接口和SQLMap实现层实现了解藕,感觉有点象Spring倡导的Ioc.
5.通常我会在写完Service接口后,直接写一个junit测试类,它是业务层和WEB层的连接点,进行测试很重要,一是方便重构后检测是否破坏了功能,另外,编写测试类也是一个掌握此类用法的过程。看着一排绿色的通过进度条,心情大好。