zoukankan      html  css  js  c++  java
  • Mybatis框架基础入门(一)--简介及优势

    一、什么是Mybatis

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

    二.Mybatis优势

    2.1Mybatis相对JDBC有哪些优势

    先来说下使用JDBC操作数据库有哪些劣势:

    1.在创建connection的时候,存在硬编码问题(也就是直接把连接信息写死,不方便后期维护)

    2.preparedStatement对象在执行sql语句的时候存在硬编码问题。

    3.每次在进行一次数据库连接后都会关闭数据库连接,频繁的开启/关闭数据连接影响性能。

    4.对结果集解析存在硬编码(查询列名),sql变化导致解析代码变化,系统不易维护,如果能将数据库记录封装成pojo对象解析比较方便

    当然还有其他问题,这里就不一一列举啦。

    然后再来简单的说一下mybatis相对jdbc的优势:

    1.mybatis是把连接数据库的信息都是写在配置文件中,因此不存在硬编码问题,方便后期维护。

    2.mybatis执行的sql语句都是通过配置文件进行配置,不需要写在java代码中。Mybatis自动将java对象映射至sql语句,通过statement中的parameterType定义输入参数的类型

    3.mybatis的连接池管理、缓存管理等让连接数据库和查询数据效率更高。

    4.Mybatis自动将sql执行结果映射至java对象,通过statement中的resultType定义输出结果的类型.

    2.2 mybatis与hibernate不同及优势

        Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句。mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象和sql语句映射生成最终执行的sql,最后将sql执行的结果再映射生成java对象。

     

    mybatis相对于hibernate的优势:

        Mybatis学习门槛低,简单易学,程序员直接编写原生态sql,可严格控制sql执行性能,灵活度高,非常适合对关系数据模型要求不高的软件开发,例如互联网软件、企业运营类软件等,因为这类软件需求变化频繁,一但需求变化要求成果输出迅速。

     

    hibernate劣势:

        Hibernate的学习门槛高,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡,以及怎样用好Hibernate需要具有很强的经验和能力才行。

     

    当然hibernater也有它独特的优势:
        Hibernate对象/关系映射能力强,数据库无关性好,对于关系模型要求高的软件(例如需求固定的定制化软件)如果用hibernate开发可以节省很多代码,提高效率.

     

        总之,按照用户的需求在有限的资源环境下只要能做出维护性、扩展性良好的软件架构都是好架构,所以框架只有适合才是最好。

     

  • 相关阅读:
    路由器DHCP 动态主机配置
    nat转换
    静态路由的实验
    不同vlan之间的相互访问
    IP的包头格式什么?请分析每个字段的含义
    IP地址的分类
    关于对JSON.parse()与JSON.stringify()的理解
    Ajax工作原理
    关于css伪类
    开发 | 如何在微信小程序的页面间传递数据?
  • 原文地址:https://www.cnblogs.com/Aaron-007/p/12814609.html
Copyright © 2011-2022 走看看