• MyBatis 总结


    MyBatis是一个Java的持久层框架,和Hibernate一样,都是ORM框架。

    MyBaits的前身是iBatis,可以将数据库中记录映射为pojo,是开发人员以面向对象编程的思想来操作数据库。

    MyBatis消除了几乎所有的JDBC代码,比如注册驱动,获取、关闭数据库连接,创建Statement对象,手动设置参数,结果集检索,这些都不需要,开发人员只需要使用xml进行简单的配置、映射,就可以操作数据库。

    常见的封装了jdbc的框架:DbUtils、Hibernate、MyBatis、Spring的JdbcTemplate。


    ORM框架

    ORM,Object Relational Mapping 对象关系映射,对象指的是pojo,关系指的是关系型数据库中的表、记录。

    常用的ORM框架包括MyBatis、Hibernate。


    MyBatis、Hibernate的区别

    Hibernate是一个标准的ORM框架,是全表映射框架。

    • 开发效率要高于MyBatis。开发者只需定义映射关系、pojo,Hibernate会自动生成对应的sql语句、操作数据库的方法,开发者使用Hibernate提供的方法操作持久层就ok,不需要熟练掌握sql、不需要编写大量代码。
    • 学习门槛高。开发者要有良好的数据关系模型基础,需要学习复杂的hql。
    • 偏死板、维护有难度。Hibernate自动生成了大量的sql语句、方法,很多都用不到,冗杂。
    • 具有良好的数据库无关性,移植性较好。更换数据库时,比如从mysql换为oracle,只需更改方言,无需大量修改代码。
    • 适合场景不复杂、对性能要求不高的项目。Hibernate对多表关联查询支持较差,更新操作需要发送整个pojo对象(所有字段),不支持储存过程,不能进行sql优化来提高性能。

    MyBatis是一个半自动映射框架。

    • 编码工作量要比HIbernate大。除了要定义映射关系、pojo,还需要自己写sql语句、操作数据库的方法。
    • 简单易上手。稍微有点sql基础就行。
    • 灵活、好维护。可根据需求编写sql,支持动态sql,可以自定义映射规则、支持存储过程。
    • 不支持数据库无关性。因为要自己编写sql,比如查询,mysql用limit,oracle用rownum,更换数据库时需要修改sql语句。
    • 对于复杂、对性能有要求的项目,MyBatis更合适。对关联映射、多表查询支持较好,因为是自己写sql,可以通过优化sql来提高性能。
  • 相关阅读:
    转!!javaMail使用网易163邮箱报535 Error: authentication failed
    银行卡验证(验证是否存在,卡号类型,归属行)
    Navicat已经成功连接,密码忘记的解决方法
    Inline&IAT Hook原理
    x64dbg尝鲜
    C# 通过Dynamic访问System.Text.Json对象
    dotnet5将asp.net webapi宿主到wpf
    Asp.Net5 MVC with Vue.js
    在 Visual Studio 中使用跟踪点将信息记录到“输出”窗口中
    WPF带阴影的无边框窗体
  • 原文地址:https://www.cnblogs.com/chy18883701161/p/12256514.html
Copyright © 2020-2023  润新知