1)从层次上看,
JDBC是较底层的持久层操作方式,
而Hibernate和MyBatis都是在JDBC的基础上进行了封装使其更加方便程序员对持久层的操作。
2)从功能上看,
JDBC就是简单的建立数据库连接,然后创建statement,将sql语句传给statement去执行,如果是有返回结果的查询语句,会将查询结果放到ResultSet对象中,通过对ResultSet对象的遍历操作来获取数据;
Hibernate是将数据库中的数据表映射为持久层的Java对象,对sql语句进行修改和优化比较困难;
MyBatis是将sql语句中的输入参数和输出参数映射为java对象,sql修改和优化比较方便.
3)从使用上看,
如果进行底层编程,而且对性能要求极高的话,应该采用JDBC的方式;
如果要对数据库进行完整性控制的话建议使用Hibernate;
如果要灵活使用sql语句的话建议采用MyBatis框架。