• 初识MyBatis


    MyBatis框架

      MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。其封装性要低于Hibernate,性能优秀,并且小巧、简单易学,现在应用也越来越广泛。

    数据持久化概念

      数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。例如,文件的存储、数据的读取等都是数据持久化操作。数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等。

    MyBatis框架简介

      MyBatis是一个开源的数据持久层框架。它内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件中,实现SQL的灵活配置。这样做的好处是将SQL与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改SQL。

      MyBatis的前身是iBatis,本身是Apache的一个开源项目,2010年这个项目有Apache Software Foundation迁移到了Google Code,并改名为MyBatis。2013年迁移到Github。

    ORM介绍

      ORM(Object/Relational Mapping)即对象/关系映射,是一种数据持久化技术。它在对象模型和关系型数据库之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作数据库表中的数据。

      在实际开发中,程序员使用面向对象的技术操作数据,而当存储数据时,使用的确实关系型数据库,这样造成了很多不便。ORM在对象模型和关系数据库的表之间建立了一座桥梁。有了ORM,程序员就不需要再使用SQL语句操作数据库中的表,使用API直接操作JavaBean对象就可以实现数据的存储、查询、更改和删除等操作。MyBatis通过简单的XML或注解进行配置和原始映射,将实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。

    使用MyBatis访问数据库的具体步骤

      1.导入MyBatis的jar包。

      2.编写mybatis-config配置文件。

        a).配置setting。

        b).设置实体类的别名。

        c).配置数据源。

          1.配置事务的实现方式。

          2.配置datasource。

        d).配置mapper映射文件。

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
     3 <configuration>
     4     <settings>
     5         <setting name="logImpl" value="LOG4J"/>
     6     </settings>
     7     <typeAliases>
     8         <package name="pojo"/>
     9     </typeAliases>
    10     <environments default="demo">
    11         <environment id="demo">
    12             <transactionManager type="JDBC" />
    13             <dataSource type="POOLED">
    14                 <property name="driver" value="com.mysql.jdbc.Driver"/>
    15                 <property name="url" value="jdbc:mysql://localhost:3306/smbms?charEncoding=utf-8"/>
    16                 <property name="username" value="root"/>
    17                 <property name="password" value="root"/>
    18             </dataSource>
    19         </environment>
    20     </environments>
    21     <mappers>
    22         <mapper resource="mapper/UserMapper.xml" />
    23     </mappers>
    24 </configuration>
    mybatis-config配置文件

      3.创建映射文件并在映射文件里面编写sql语句。

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    3 <mapper namespace="dao.UserDao">
    4     <select id="getAllUser" resultType="User">
    5         select * from smbms_user
    6     </select>
    7 </mapper>
    mapper映射文件

      4.创建测试类测试,通过SqlSessionFactory获得sqlsession。

    MyBatis的优缺点

      优点:

      1).与JDBC相比,减少了50%以上的代码量。

      2).MyBatis是最简单的持久化框架,小巧并且简单易学。

      3).MyBatis箱单灵活,不会对应用程序或者数据库的现有设计强加任何影响,SQL写在XML里,从程序代码中彻底分离,降低耦合度,便于统一管理和优化,并且可重用。

      4).提供XML标签,支持编写动态SQL语句。

      5).提供映射标签,支持对象与数据库的ORM字段关系映射。

      缺点:

      1).SQL语句的编写工作量较大,对开发人员编写SQL语句的功底有一定要求。

      2).SQL语句依赖于数据库,导致数据库移植性差,不能随意更换数据库。

      适用场合:

      MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案。适用于对性能的要求很高,或者需求变化较多的项目。

    欢迎提出意见或建议!!!
  • 相关阅读:
    Verilog非阻塞赋值的仿真/综合问题 (Nonblocking Assignments in Verilog Synthesis)上
    异步FIFO结构及FPGA设计 跨时钟域设计
    FPGA管脚分配需要考虑的因素
    An Introduction to Delta Sigma Converters (DeltaSigma转换器 上篇)
    An Introduction to Delta Sigma Converters (DeltaSigma转换器 下篇)
    中国通信简史 (下)
    谈谈德国大学的电子专业
    中国通信简史 (上)
    Verilog学习笔记
    Verilog非阻塞赋值的仿真/综合问题(Nonblocking Assignments in Verilog Synthesis) 下
  • 原文地址:https://www.cnblogs.com/gaofei-1/p/7197732.html
Copyright © 2020-2023  润新知