jdbc和mybatis的区别
mybatis也是基于JDBC的。Java与数据库操作仅能通过JDBC完成。 mybatis也要通过JDBC完成数据查询、更新这些动作。mybatis仅仅是在JDBC基础上做了,OO化、封装事务管理接口这些东西。
使用jdbc操作数据库的主要步骤:
- 使用JDBC编程需要连接数据库
- 注册驱动和数据库信息操作Connection,打开 Statement 对象 。
- 通过Statement执行SQL, 返回结果到ResultSet对象。
- 使用ResultSet读取数据,然后通过代码转化为具体的POJO对象。
- 关闭数据库的相关资源。
jdbc操作的弊端:
- 数据库创建连接的时候,频繁创建连接,会影响系统资源的开销,影响性能(数据库连接池以解决问题)
- Sql语句存在硬编码,后期维护不方便(sql语句发生变化,需要在源文件中修改sql语句)
- 使用PreparedStstement 针对sql 参数传值时 存在硬编码,条件语句经常发生变动。
- 结果集对象 查询到的数据需要修改 添加一列数据 存在硬编码
mybatis与hibernate不同
Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。mybatis可以通过XML或注解方式灵活配