Mybatis-----二

作者: 晨曦诗雨 | 来源:发表于2018-11-22 09:16 被阅读0次

    MyBatis前身是iBatis,本是Apache的一个开源的项目

    官方网站

    http://mybatis.org

    ORM框架
    实体类和SQL语句之间建立映射关系

    特点

    基于SQL语法,简单易学
    能了解底层封装过程
    SQL语句封装在配置文件中,便于统一管理与维护,降低######程序的耦合度
    方便程序代码调试

    Mybatis的优缺点

    优点:

    1.与JDBC相比,减少了50%以上的代码量
    2.最简单的持久化框架,小巧并简单易学
    3.SQL代码从程序代码中彻底分离,可重用
    4.提供XML标签,支持编写动态SQL
    5.提供映射标签,支持对象与数据库的ORM字段映射

    缺点:

    SQL语句编写工作量大,对开发人员有一定要求
    数据库移植性差

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

    搭建Mybatis的开发步骤:

    1.下载mybatis.jar包并导入工程
    2.编写MyBatis核心配置文件(configuration.xml)
    3.创建实体类-POJO
    4.DAO层-SQL映射文件(mapper.xml)
    5.创建测试类
           读取核心配置文件mybatis-config.xml
           创建SqlSessionFactory对象,读取配置文件
           创建SqlSession对象
           调用mapper文件进行数据操作
    
    
    基本要素:
    MyBatis的核心对象

    1.SqlSessionFactoryBuilder
    2.SqlSessionFactory
    3.SqlSession

    mybatis-config.xml 系统核心配置文件
    mapper.xml SQL映射文件

    核心接口和类的结构:

    总结:

    SqlSessionFactoryBuilder
       用过即丢,推荐作用域范围:方法体内
    
    
    SqlSessionFactory
       最佳作用域范围:应用的全局作用域
       生命周期与应用的生命周期相同
    
    
    SqlSession
       线程级
       一个request请求期间
    
    

    核心配置文件

    mybatis-config.xml 系统核心配置文件
    configuration 配置
    properties    可以配置在Java 属性配置文件中
    settings    修改 MyBatis 在运行时的行为方式
    typeAliases   为 Java 类型命名一个别名(简称)
    typeHandlers   类型处理器
    objectFactory   对象工厂
    plugins   插件
    environments   环境
    environment   环境变量
    transactionManager  事务管理器
    dataSource   数据源
    mappers    映射器
    
    
    配置properties元素的两种方式
    通过外部指定的方式(database.properties),实现动态配置
    直接配置为xml,实现动态配置
    通过外部指定的方式(database.properties),实现动态配置
    配置properties的resource属性
       <properties resource="database.properties"/>      
       <dataSource type="POOLED">
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}"/>
    <property name="username" value="${user}"/>
    <property name="password" value="${password}"/>
    </dataSource>
    
    
    直接配置为xml,实现动态配置
    配置property的name和value
    <properties>
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/sms"/>
        <property name="user" value="root"/>
        <property name="password" value=“123456"/>
     </properties>
    
    <dataSource type="POOLED">
        <property name="driver" value="${driver}"/>
        <property name="url" value="${url}"/>
        <property name="username" value="${user}"/>
        <property name="password" value="${password}"/>
    </dataSource>
    
    
    environments元素
    表示配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上
    子元素节点:environment,但是必须指定其中一个为默认运行环境(通过default指定)

    每个SqlSessionFactory实例只能选择一个运行环境

    <environments default="development">
     <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
            <property name="driver" value="${driver}"/>
         <property name="url" value="${url}"/>
            <property name="username" value="${user}"/>
            <property name="password" value="${password}"/>
    </dataSource>
    </environment>
    <environment id="test">
    </environment>
    </environments>
    
    

    SQL映射文件

    MyBatis 真正的强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单
    SQL映射文件的几个顶级元素(按照定义的顺序)
       mapper - namespace
       cache - 配置给定命名空间的缓存
      cache-ref – 从其他命名空间引用缓存配置
      resultMap –用来描述数据库结果集和对象的对应关系
      sql – 可以重用的SQL块,也可以被其他语句引用
     insert – 映射插入语句
      update – 映射更新语句
      delete – 映射删除语句
      select – 映射查询语句
    

    相关文章

      网友评论

        本文标题:Mybatis-----二

        本文链接:https://www.haomeiwen.com/subject/tqpkqqtx.html