深入浅出MyBatis技术原理和实战(一)

时间:2021-01-26 21:49:30
  • 传统JDBC的弊端
    jdbc(java data base connectivity)是SUN公司(Oracle公司)提出的一系列规范,用于java程序连接数据库,定义了接口规范,具体实现由各家数据库厂商去实现。
    jdbc连接数据库的步骤大致为:注册驱动,创建连接创建Connection,操作Connection对象建立statement对象,利用statement对象执行sql语句,获取返回值ResultSet对象,转换成POJO类,关闭数据库相关资源。
    缺点: 工作量巨大,我们要创建连接,处理jdbc底层事务,处理数据类型,操作Connection、Statement和ResultSet对象去获取数据,并准确的关闭他们。对jdbc的异常进行捕获并关闭对应的资源,简单的sql已经如此复杂,更何况复杂的sql。

  • ORM模型的产生
    由于jdbc存在的缺点,因此ORM(Object relational mapping)对象关系型映射应运而生。
    ORM将数据库表和java对象POJO(plain ordinary java object)映射,我们可以把数据库表映射成pojo,通过操作pojo来操作数据库表。
    有了ORM,程序员只需了解java应用,无需对数据库相关知识深入了解,便能写出通俗易懂的程序

  • Hibernate框架
    在配置映射文件和数据库连接文件后,hibernate可以通过session接口操作数据库表的增删改查,消除了jdbc的大量代码,提高编程的简易性和可读性。还提供了,级联、缓存、映射、一对多等功能。hibernate是全表映射可以通过HQL操作POJO而操作数据库。
    缺点:无法适应存储过程,由于hibernate屏蔽了sql,我们对于很复杂的多表关联很难适应。如果我们需要优化sql,hibernate无法做到。全表映射带来的不便。

  • MyBatis框架
    半自动映射。MyBatis包含:SQL,映射规则,POJO。提供了简易的缓存,级联,日志。
    缺点:开发量比hibernate高,需要提供映射规则和sql。