MyBatis核心配置文件的标签顺序【笔记整理】

MyBatis核心配置文件的标签顺序【笔记整理】

综述:核心配置文件中的引入标签的顺序是由约束决定的

      -----------------------配置文件顶部---------------------------------------------------
		<?xml version="1.0" encoding="UTF-8" ?> 这一部分是xml配置文件的相关配置 版本+编码集

		【MyBatis的DTD约束:固定写法】
		<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
      -----------------------配置文件顶部--------------------------------------------------

核心配置文件中的 引入标签的顺序:
        是由约束决定的 通过约束 【ctrl+鼠标左键】 可以进入 约束查看
        <!ELEMENT configuration (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?,objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?)>
        按照约束规定的顺序书写就可以   顺序应该是:
     
        1.<properties自闭合标签  resource属性/>
            a. 标签作用:引入数据库的配置文件 文件名一般是:JDBC.properties
            b. 属性值:配置文件路径(String) 由于配置文件一般放在src文件夹下 所以一般写成配置文件的名称
     
        2.<settings标签>
                <setting标签  name属性1  value属性1/>
                <setting标签  name属性2  value属性2/>
          </settings>
            a. settings标签:引入插件的配置文件(相对根标签 内部可以引入多个插件)
            b. setting 标签:引入单个插件的配置文件 在settings 标签内部 可以有多个
            	b1. name 属性:自行百度 很多属性 根据需求查找
            	b2. value 属性:自行百度 很多属性 根据需求查找
     
        3.<typeAliases标签>
               <typeAlias 自闭合标签  type属性  alias属性/>
               <package 自闭合标签 name属性/>
          </typeAliases>
            a.typeAliases 标签 : 这里是对映射配置文件中的 resultType和 parameterType 起别名,为了使用便捷【相对根标签、起别名是对于自定义的javaBean类】
            b.typeAlias 标签: 对于单个javaBean类 起别名
            	b1.type属性:从src包开始的javaBean类的路径
            	b2.alias属性:起的别名【一般是以类名为别名 首字母小写】
            c.package 标签: 因为一般情况 我们会把所有的javaBean类 都放到bean这个包下 ,所以这里提供的这个标签是对一个包下所有的javaBean类起别名
            	c.name属性:从src包开始的bean包的路径
     
      -----------------------中间间隔-----[暂时还没有配置的标签]-----------------------------
           4.typeHandlers
           5.objectFactory
           6.objectWrapperFactory
           7.reflectorFactory
           
      ----------------------中间间隔------[暂时还没有配置的标签]-----------------------------
        8.<plugins标签>
          		<plugin标签 interceptor属性></plugin>
          </plugins>
          	a.plugins标签:配置插件的相对根标签 由于可能会配置多个插件 所以需要plugins根标签包裹
          	b.plugin标签:配置单个插件的标签
          		b1. interceptor属性:值为需要配置的插件的路径
          			配置分页功能的属性值为:com.github.pagehelper.PageInterceptor 固定路径【lib直接在src下】
        9.<environments标签 default属性>
              <environment标签 id属性>
                   <transactionManager标签 type属性>
                   <dataSource标签 type属性>
                       <property标签 name属性 value属性/>
                       <property标签 name属性 value属性/>
                       <property标签 name属性 value属性/>
                       ........
                  </dataSource标签>
              </environment标签>
     
              <environment标签 id属性>
                   <transactionManager标签 type属性>
                   <dataSource标签 type属性>
                       <property标签 name属性 value属性/>
                       <property标签 name属性 value属性/>
                       <property标签 name属性 value属性/>
                       ........
                  </dataSource>
              </environment>
          <environments>
           a. environments标签:用来引入数据库环境的配置单元根标签【可包含多个】
               a1. default 属性:与 environment中的id属性相对应 使用哪个environment中的id属性 就代表使用哪个配置
     
           b. environment 标签:单个数据库环境引入的根标签
               b1. id属性:每一个属性的唯一标识 通过id属性的值 来找到使用的是哪个配置
     
           c. transactionManager标签:确定事务管理模式的标签
               c1. type属性:确定使用哪个事务管理模式 一共两个值:
                   JDBC:正常的commit和rollback 方式
                   MANAGE:百度查具体是什么意思
                   
           d. dataSource 标签:规定使用何种数据源的标签(连接池,第三方容器等等)【相对根标签】
               d1. type属性:具体确定数据源使用何种模式配置 一共三个值:
                   UNPOOLED:百度查含义
                   POOLED:使用连接池
                   JNDI:其他框架提供的容器
                   
           e. property 标签:配置数据源的单个配置标签 【其实就是JDBC所需要的的配置 包含:驱动配置,数据库地址,登录账号,密码等等】
                   e1.name:与JDBC的配置文件中的key一一对应 每个key对应一条property 标签语句
                   e2.value:底层获取 JDBC配置文件 对应key的值  格式是: ${变量名} 变量名为了代码的可读性一般和key是一样的
     
      -----------------------中间间隔-----[暂时还没有配置的标签]-----------------------------
       10.databaseIdProvider
      -----------------------中间间隔-----[暂时还没有配置的标签]-----------------------------
      
       11.<mappers 根标签>【基于配置文件sql语句来实现 使用这个Mappers标签中的格式】
               <mapper标签 resource属性>
          </mappers>
           a. mappers标签 :引入映射文件(sql语句的配置文件)的根标签
           b. mapper标签:mapper标签 一次有且只能有一个  使用哪一个Mapper接口 就配置哪个相对应的Mapper
               resource:引入单个映射文件的标识:与每一个映射文件自定义文件名相同【需要加后缀】
        11.<mappers 根标签> 【基于注解配置sql语句 使用这个Mappers标签中的格式】
		   		<package标签 name属性/>
		   </mappers>
		   	a.mappers标签:解释同上
		   	package属性:值是 你的数据访问层的哪个接口所在的是哪个包 需要注意的是:这里是包路径而不是文件路径 而且包路径可以不用那么精确 
		   	比如 准确包路径是: com.xxx.mapper   写成 com.xxx也可以  写成 com也可以【底层通过遍历找到】
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值