时光飞逝,转眼作为coder已经快3年了,积累了一些码代码的经验(主要还是javaweb方面),但是有时候还是会感觉到有些杂和乱。需要总结和升华,正好趁现在不是很忙写点东西,分享下coding方面的一些小小的感悟和代码。
javaweb项目开发现在比较流行的开源框架组合就是struts2/springmvc+hibernate/mybatis+spring ,使用框架的好处是显而易见的,提高开发效率,使系统的可维护性提高。而且开源框架有很多的社区和用户群所以一般性的问题都可以很轻松的找到解决方案。下面主要说下数据访问层的框架,因为jmapper就是结合了hibernate和mybatis优点的一个数据访问层框架(暂定为框架)。首先说下hibernate,个人认为hibernate主要的优点就是完全的orm映射在做更新,插入或单表查询特别的方便,例如hibernate可以用get或load方法很方便的加载一个数据库映射的对象或已经缓存的对象,在做更新操作的时候只需在service层获得要更新的持久化对象然后set相关字段就可以实现更新;hibernate的缓存和延迟加载可以说是优点但同时也是缺点,因为对于不熟悉hibernate的coder来说很容易产生一些莫名其妙的错误;还有就是hibernate的hql,在复杂的业务系统里就略显鸡肋了,对于开发人员来说能够熟练掌握hql需要投入很多时间,学习成本很高。再看mybatis,mybatis现在越来越受一些复杂业务系统,互联网企业的青睐。mybatis和hibernate的的最大区别是mybatis是sql的映射,sql的控制权完全在开发者手中,可以充分的发挥sql技巧,mybatis的sql还可以写在xml或注解里,这样更利于维护sql和优化sql&#x