1、传统的JDBC存在的问题?
a、JDBC频繁连接和关闭资源,造成资源的浪费
b、JDBC对sql语句进行硬编码,sql语句比较分散,不易维护。
c、JDBC在传递参数时必须按照顺序传递参数,不能自由拼装sql语句,不灵活
d、结果映射必须手动封装到JavaBean
2、Mybatis是什么?
Mybatis是一个对JDBC封装的持久层框架,是Apache旗下的顶级框架。Mybatis解决JDBC以上的不足之处,程序员只需要关注sql语句,不需要把精力放在业务上。
Mybatis适合需要变化多端的项目。
3、Mybatis和Hibernate区别?
Hibernate优点:Hibernate也是一个对JDBC封装的持久层框架。
a、Hibernate是一个ORM框架,面向对象开发,不用自己写sql
b、由于使用面向对象开发,如果进行数据库迁移,只需修改方言。
缺点:
a、由于使用面向对象开发,不能开发特别复杂的业务项目
b、表的关系维护:Hibernate自己维护关系,对我们是透明的,不容易进行优化。Hibernate表关系维护特别复杂。
c、由于使用HQL,先把HQL转化成sql再进行执行,执行效率变低。生成的sql语句格式不容易维护。适合需求基本不变化的项目,如企业中的ERP,CRM
Mybatis框架:
Mybatis使用纯sql进行开发,程序员只需要集中精力在sql上面就可以。方便对sql进行优化。适合需求变化特别快的项目。比如,互联网项目。