做开发接近一年的时间。一直以来都是以hibernate来进行开发。虽然听说现在比较流行的是ssm,但是一直以来都没有接触过。但是近期公司来一大牛。决定带领我们大群小喽喽走向mybatis的世界。与是,我们都开始学习mybatis的用法了。
在此,我发现了hibernate和mybatis之间还是有很多的区别的。同时可能对于我们程序员未来找工作有很大的影响。所以在此与大家分享一波。我们为什么应该去用mybatis,尤其刚刚出来工作不久的新人,至少是不到2年的新人,我个人觉得都应该学习去使用mybatis。而不是使用hibernate.
为什么这么说呢。最主要的原因我认为是为了以后的发展。现在的我们操作数据库的时候数据量都特别的大。所以说为了提高自己的水平我们需要去提高自己写sql的水平。但是使用hql语句的时候很多时候我们都会忽略掉sql的重要性。我这么说我自己感觉又有一些牵强。毕竟如果说你的应用程序的数量量达到了上百万或者是上千万的时候,无论你使用哪一种开发框架,你都需要开始提高你自己的sql水平。
那么我就说说我的第二个理由,mysql的sql语句是写在配置文件中的,而hibernate则是写在代码中的,那么自己去找sql语句的时候自己就需要去代码中寻找。哎哟我的妈妈牙,好牵强。你如果想要写在配置文件中你可以自己去把sql写在配置文件中啊。好吧,我还是没有说服自己。
那么我就来第3个理由,hibernate中使用多表连接及其不方便。只有有关联关系的对象才能够进行多表连接,否则的话是无法进行多表连接的。而mybatis中就没有这种需求,因为它本身用的就是原生的sql语句,就没有这方面的限制。
其实在这里我最主要的是想要表达我应该多提高自己写sql的水平,而不是分析mybatis和hibernate的优劣。毕竟大家都知道如果数据量比较少,关联关系不多的话可以使用Hibernate,但是如果数据量大的话最好是使用mybatis。