Mybatis

无情的你无情的雨 2020-04-23

1.1简介:

  MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

1.2持久化:

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。持久化是将程序数据在持久状态和瞬时状态间转换的机制。JDBC就是一种持久化机制。文件IO也是一种持久化机制。

1.3持久层:

所谓持久,就是把数据保存到可以永久保持的存储设备当中。一度般来说,持久更为直接的理解就是对数据库的各种操作,如CRUD(增加,删除,修改,查询),更新等操作,持久层知,就是把持久的动作封装成一个独立的层道,这是为了降低功能代码之间的关联。创建一个更清晰的抽象,提高版代码的内聚力,降低代码的耦合度,从而增强代码的要劳权动局生和可重用性。实现持久层的框架有: JDBC, Hibernate,Mybatis,JPA等技术。

1.4为什么需要Mybatis

    1. 在mybatis中数据库没有连接池,每次请求都会重新创建。 mybatis:使用线程池 ;

    2. sql语句是写死在代码中,不利于代码维护。 mybatis:在xml中配置 ;

    3. preparedStatement 中的设置的参数也是写的死,同样不利于维护。 mybatis:在xml中配置 ;

    4. 数据从数据库获取后,读取方式同样是写死的。 mybatis:自动映射。

    5. ORM其实最大的好处是对SQL的封装性。原生SQL对于数据库系统的耦合太大,如果使用原生SQL,一旦要把系统部署到不同的数据库上,代码的修改和重构是个很大的麻烦。严格的说ibatis在这方面做得并没有hibernate彻底。但是总比原生JDBC要好。

    6. ORM算是对象化的一种实现(尽管现在看起来越来越臃肿),比如增加和修改的操作,如果用原生SQL,一点不进行封装的话,操作起来还是略麻烦的。

相关推荐