1、传统JDBC:
- 操作麻烦,工作量大
2、hibernate:
- 全表映射带来的不便,比如更新时需要发送所有的字段,对带宽造成浪费
- 无法根据不同的条件组装不同的SQL
- 对多表关联和复杂SQL查询支持较差,需要自己写SQL。返回后,需要自己将数据组装为POJO
- 不能有效支持存储过程
- 虽然有HQL,但是性能比较差,大型互联网系统往往需要优化SQL,hibernate做不到
- 深入掌握比较难
3、mybatis
- 入门简单,即学即用,提供数据库查询自动对象绑定,对于熟悉SQL更加有助
- 可以更加精细的对SQL进行优化
- 查询时可以根据所需字段进行查询,不会对带宽造成浪费
- 虽然简化数据绑定的操作,但是底层数据库的SQL还是需要手动去写,工作量还是比较大