JDBC、Hibernate、Mybatis之间的区别
JDBC
JDBC执行的操作
- 1、注册驱动(forClass)
- 编写sql
- 预编译(通过Connection得到Statement)
- 设置参数(往Statement中添加参数)
- 执行sql(通过Statement执行sql)
- 封装结果(通过ResultSet得到结果)
JDBC的优点:
很清楚明白的看出数据库所执行的操作
JDBC的缺点:
- 编写工作量巨大
- 灵活性差
- 需要及时处理异常并正确关闭数据源
Hibernate
执行过程
- 读取配置文件完成ORM的映射关系
- 获取session进行增删改查的操作
Hibernate的优点
- 维护方便,数据库连接和POJO类的映射都写在xml文档中
- 操作方便,只需获取session就可以对数据库进行操作,关闭时也只需关闭session
Hibernate的缺点
- 全映射会造成性能比较差
- sql语句由于是hibernate生成而造成了sql的灵活性较差,不方便定制高效sql
- 自带的HQL语句性能较低
Mybatis
Mybatis优点
- 半自动的执行方式,除sql外操作由框架完成,方便快捷
- 手工定制sql,实现sql与java代码分离,灵活性高,方便维护
- 只需要sql进行操作,不需要学习额外的内容
- 轻量级的框架,执行速度快
山重水复疑无路,柳暗花明又一村!
专注填坑,少走弯路!