区别
1.MyBatis和Hibernate的区别
MyBatis自己写SQL,性能更好控制,效率慢
Hibernate不用自己写SQL,性能不好控制,效率快
2.MyBatis和JDBC的区别
MyBatis只需要关注SQL,其它完成了封装
MyBatis是对JDBC的封装
3.#和$的区别
#(接收普通参数,预编译,性能好,安全性高)
$正好相反Sql中不支持这个,只有在oracle中才有
1)从层次上看,JDBC是较底层的持久层操作方式,而Hibernate和MyBatis都是在JDBC的基础上进行了封装使其更加方便程序员对持久层的操作。
2)从功能上看,JDBC就是简单的建立数据库连接,然后创建statement,将sql语句传给statement去执行,如果是有返回结果的查询语句,会将查询结果放到ResultSet对象中,通过对ResultSet对象的遍历操作来获取数据;Hibernate是将数据库中的数据表映射为持久层的Java对象,对sql语句进行修改和优化比较困难;MyBatis是将sql语句中的输入参数和输出参数映射为java对象,sql修改和优化比较方便.
3)从使用上看,如果进行底层编程,而且对性能要求极高的话,应该采用JDBC的方式;如果要对数据库进行完整性控制的话建议使用Hibernate;如果要灵活使用sql语句的话建议采用MyBatis框架。