• Mybatis再学习


    1.Mybatis全局配置文件

    文件结构如下:

      configuration配置

        properties属性

        setting设置

        typeAliases类型命名

        typeHandler类型处理器:Mybatis在预处理语句中设置一个参数,还是从结果取值,都会用类型处理器将获取的值以合适方式转换成java

        objectFactory 对象工厂

        plugins插件

        environments环境:配置多种环境

        environment环境变量:指定具体环境

        id:指定当前环境的唯一标识

        transactionManager

          type: JDBC|MANAGED|自定义

              JDBC:使用了JDBC的提交和回滚设置,依赖于从数据源得到的连接来管理事务范围

              MANAGED:不提交或回滚一个连接,让容器来管理事务的整个生命周期

              自定义:实现transactionFactory接口,type=全类名/别名

          datasource:

              UNPOOLED:不使用连接池

              POOLED:使用连接池

              JNDI:在EJB或应用服务器这类容器中查找指定的数据源

              自定义:实现DataSourceFactory接口,定义数据源的获取方式

        transactionManager事务管理器

        databaseidProvider数据库厂商标识

      mappers映射器

    1.用来在mybatis初始化的时候,告诉mybatis需要引入哪些Mapper映射文件

    2.mapper逐个注册SQL映射文件

        resource:引入类路径下的文件

        url:应如网络路径或是磁盘路径下的文件

        class:引入mapper接口

        有SQL映射文件,要求Mapper接口与SQL映射文件同名同位置

        没有SQL映射文件,使用注解在接口的方法上写SQL语句

    参数传递

      参数传递方式:

        1.单个参数,可以接受基本类型,对象类型

        2.多个参数,会被重新包装成一个Map传入,Map的key就是param1,param2或0,1,值就是参数的值

        3.命名参数,为参数使用@Param起一个名字,Mybatis就会将这些参数封装进map,key就是我们自己指定的名字

        4.POJO,当这些参数属于我们业务pojo时,我们直接传递pojo

        5.Map 封装参数为map,直接传递

        6.Collection/Array,会封装成一个map传入,Collection对应的key是collection,Array对应的key是array,若为LIst集合,key还可以是list

      参数的获取方式:

      1.#{key}:获取参数的值,预编译到SQL中,安全

      2.${ksy}:获取参数的值,拼接到SQL中,有SQL注入问题

      select查询的几种情况

      resultType 自动映射 :autoMappingBehavior默认是PARTIAL,开启自动映射的功能,唯一要求是列名和javaBean属性名一致

      resultMap 自定义映射:

        id:用于完成主键值的映射

        result:用于完成普通列的映射

        association:一个复杂的类型管理,许多结果将包成这种类型

        collection:复杂类型的集

          1.id&result

            property:映射到列结果的字段或属性

            column:数据表列名

          2.association

            属性可能是一个对象,我们可以使用联合查询,并以级联属性的方式封装对象,使用association标签定义对象的封装规则

            association分步查询

            association分步查询延迟加载

            

          3.collection

            collection分步查询

            collection分步查询延迟加载

  • 相关阅读:
    Ubuntu16.04 + OpenCV源码 + Qt5.10 安装、配置
    DML和DQL
    初识MySql
    表单校验
    使用jQuery操作DOM
    jQuery中的事件与动画
    jQuery选择器
    初识jQuery
    JavaScript对象及初识OOP
    JavaScript操作DOM对象
  • 原文地址:https://www.cnblogs.com/ashin1997/p/11362281.html
Copyright © 2020-2023  润新知