JDBC操作数据库的弊端:
- 每一次操作都需要开启连接,关闭连接,耗资源
- JDBC直接把SQL语句写在业务逻辑代码中,SQL的可维护性差
- JDBC的SQL的参数是硬编码,可维护性差
- JDBC结果集的返回resultset
Mybatis解决了JDBC的问题:
- 底层采用数据库连接池机制
- 将sql语句封装到了xml映射文件中
- 自带参数类型转换
- 返回结果直接是list或javabean对象
Mybatis优点:
- 减少代码量
- Mybatis是最简单的持久化框架,小巧且简单易学
- 灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从代码中彻底分离,降低耦合度,便于统一管理和优化,可重用。
- 提供XML标签,支持编写动态的SQL语句
- 提供映射标签,支持对象与数据库的ORM字段的关系映射
Mybatis缺点:
- SQL语句的编写工作量较大,尤其是字段多、关联表多时,对开发人员编写
- SQL语句的功底有一定的要求
- SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库