zoukankan      html  css  js  c++  java
  • SQL映射文件

    1:MyBatis基本要素

    核心对象

    SqlSessionFactoryBuilder   生命周期:方法体内,作用域:方法体内

    SqlSessionFactory    生命周期:从应用服务启动开始一直到应用服务停止—application,作用域:整个应用内

    SqlSession    生命周期:一次请求的有效期   作用域:一次请求的有效期内

    通过SqlSession实例直接运行映射的SQL语句

    基于mapper接口的方式执行SQL语句

    系统核心配置文件 properties typeAliases

    2:SQL映射的XML文件:

    MyBatis 真正的强大在于映射语句,专注于SQL,功能强大,

    SQL映射的配置却是相当简单

    SQL映射文件的几个顶级元素(按照定义的顺序)

    mapper - namespace cache - 配置给定命名空间的缓存

    cache-ref – 从其他命名空间引用缓存配置

    resultMap –用来描述数据库结果集和对象的对应关系

    sql – 可以重用的SQL块,也可以被其他语句引用

    insert – 映射插入语句

    update – 映射更新语句

    delete – 映射删除语句

    select – 映射查询语句

    3:mapper

    namespace:命名空间

    namespace和子元素的id联合保证唯一,区别不同的mapper

    绑定DAO接口 namespace的命名必须跟某个接口同名 接口中的方法与映射文件中SQL语句id一一对应

    4:select

    id :命名空间中唯一的标识符

    接口中的方法与映射文件中的SQL语句id一一对应

    parameter Type :传入SQL语句的参数类型

               基础数据类型:

                        int,String,Date等

                        只能传入一个

                        通过#{参数名}获取值

                复杂数据类型:

                      java实体类,Map类

                      通过#{属性名}或者#{map的keyName}即可获取传入值

    resultype:SQL语句返回值类型的完整类名或别名

    5:resultType和resultMap的区别:

    resultType :直接表示返回类型 基本数据类型 复杂数据类型

    resultMap :对外部resultMap的引用

    resultMap自动映射匹配前提:字段名与属性名一致

    resultMap的自动映射级别-autoMappingBehavior

    PARTIAL(默认):自动匹配所有

    应用场景: 数据库字段信息与对象属性不一致

    复杂的联合查询,自由控制映射结果

    二者不能同时存在,本质上都是Map数据结构

    6:insert添加

    id

    parameterType

    <insert   id="add"  parameterType="User">

    </insert>

    insert、update、delete元素均没有resultType属性

    7:update修改

    id

    parameterType

    8:delete删除

    id

    parameterType

    9:resultMap

    association

    复杂的类型关联,一对一

    内部嵌套

    映射一个嵌套JavaBean属性

    属性

    property:映射数据库列的实体对象的属性

    javaType:完整Java类名或者别名

    resultMap:引用外部resultMap

    子元素

    id

    result:

              property:映射数据库列的实体对象的属性

              column:数据库列名或者别名

    10:

    resultMap自动映射(autoMappingBehavior)的三个匹配级别

    NONE 禁止自动匹配

    PARTIAL(默认) 自动匹配所有属性,内部嵌套除外

    FULL 自动匹配所有

    11:MyBatis缓存

    一级缓存

    二级缓存

    二级缓存的配置

    MyBatis的全局cache配置

    在Mapper XML文件中设置缓存,默认情况下是没有开启缓存的

    在Mapper XML文件配置支持cache后,如果需要对个别查询进行调整,可以单独设置cache

  • 相关阅读:
    React 事件机制
    EggJs学习 (一)
    css 选择器及样式属性
    css盒子模型
    ES5 继承方式
    正则表达式
    Flex布局
    npm
    深拷贝、浅拷贝
    Webpack实战(入门、进阶与调优)
  • 原文地址:https://www.cnblogs.com/zjx-959/p/13838509.html
Copyright © 2011-2022 走看看