视频地址:http://edu.51cto.com/sd/be679

首先我们要知道一点,该配置文件的中属性的存放是有顺序的,没有办法随意的乱放。如果你属性的配置位置出错,会有如下错误提示:

The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".

这个错误的大概意思是说,在configuration里面的属性存放必须按照红体字那些顺序存放。

  接下来我们按照顺序来看一下这些配置属性到底是什么意思:

    1.properties属性:加载属性的配置文件

    比如:这个数据源信息,应该是放在一个db.properties里面然后在在数据源里引用的。

<properties resource="db.properties"></properties>//把db.properties的文件引用进来
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>

    2.第二个配置信息<settings>

      Mybatis在运行的时候可以调整的一些参数

      比如:是否开启缓存,延迟加载就是在setting中配置,这里把延迟加载和开启二级缓存的配置贴在下面    

    <!-- 开启延迟加载 -->
<settings>
<!-- lazyLoadingEnabled:延迟加载启动,默认是false -->
<setting name="lazyLoadingEnabled" value="true"/>
<!-- aggressiveLazyLoading:积极的懒加载,false的话按需加载,默认是true -->
<setting name="aggressiveLazyLoading" value="false"/>
<!-- 开启二级缓存,默认是false -->
<setting name="cacheEnabled" value="true"/>
</settings>

      这个全局的参数别随便乱配,因为它会影响Mybatis的运行

    3.typeAliases 别名(这个属性用的非常平繁)

      默认支持的别名类型:我们在用parameterType指定输入参数类型的时候需要写全称,但是比如:java.lang.Integer也可以写int就是因为这个默认支             持的别名型大概支持的默认类型如下(没有全部列出来)

  

      自定义别名:

        对单个的定义:

<typeAliases>
<!--
type:就是你要为那个类去别名的路径:包名+类型
  alias:就是你自己取的别名
-->
<typeAlias type="com.etc.entity.Student" alias="student"/>
</typeAliases>

        引用别名:本来该写 com.etc.entity.Student现在只要写alias里的名字就好

        批量定义别名:

<!--
Mybatis批量定义别名:通过指定包名来定义
就是内部去定义这个取别名的规则:
规则:Mybatis会自动去扫描这个包底下的类,并且Mybatis自定义别名,别名就是类名(首字母大小写都可以)
-->
<package name="com.etc.entity"/>

  注意:扫描包,Mybatis自定义别名,别名就是类型首字母的大小写都可以

    typeHanlders:类型处理器

      Mybatis中是通过typeHanlders完成java类型和数据库类型的转换,Mybatis内部定义的类型已经足够我们去使用,就不需要自己在去定义。

    environments:运行环境(数据源等等)

    Mappers:关联配置文件(就是mybatis写在xml中的数据库操作,需要告诉这个全局配置文件),主要有一下三种方式

      单个文件:   

<mappers>
<mapper resource="mapper/StudentMapper.xml"/>
</mappers>

      类加载:

<!--
通过类去加载该类的配置文件
规则:mapper接口和mapper.xml映射文件的名称必须一致
:在同一个目录
-->
<mapper class="com.etc.mapper.StudentMapper"/>

      批量加载:

<!--批量加载:也是扫描这个包底下的所有东西 仍然要遵守类加载的原则 -->
<package name="com.etc.mapper"/>

以上就是这些就是配置文件的详细解析。

3.Mybatis全局配置文件属性详解(SqlMapConfig.xml)的更多相关文章

  1. idea spring+springmvc+mybatis环境配置整合详解

    idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...

  2. MyBatis全局配置文件标签详解

    一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...

  3. MyBatis项目配置案例详解与Web下的增删改查实现[附项目源码]

    MyBatis项目案例 项目图示: 项目源码地址:https://github.com/JluTiger/mybatispro 1.项目功能 项目案例:后台管理系统用户数据维护平台 所有用户数据查询 ...

  4. IntelliJ IDEA 2017 MySQL5 绿色版 Spring 4 Mybatis 3 配置步骤详解(二)

    前言    继续上一篇安装教程 首先是MySQL绿色版安装之后其他组件安装,如果篇幅较长会分为多篇深入讲解,随笔属于学习笔记诸多错误还望指出 共同学习. MySQL 5.7 绿色版   我本地安装的是 ...

  5. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  6. Mybatis SQL映射文件详解

    Mybatis SQL映射文件详解 mybatis除了有全局配置文件,还有映射文件,在映射文件中可以编写以下的顶级元素标签: cache – 该命名空间的缓存配置. cache-ref – 引用其它命 ...

  7. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  8. MHA配置参数详解 【转】

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  9. 【第六课】Nginx常用配置下详解

    目录 Nginx常用配置下详解 1.Nginx虚拟主机 2.部署wordpress开源博客 3.部署discuz开源论坛 4.域名重定向 5.Nginx用户认证 6.Nginx访问日志配置 7.Ngi ...

随机推荐

  1. Ubuntu中开启MySQL远程访问功能,并将另一个数据库服务器中的数据迁移到新的服务器中

    一.开启MyS远程访问功能 1.进入服务器输入netstat -an | grep 3306确认3306是否对外开放,MySQL默认状态下是不对外开放访问功能的.输入以上命令之后如果端口没有被开放就会 ...

  2. 抓包软件PowerSniff开发计划

    目前抓包的工具不顺手: (1)smartsniff, minisniffer不支持插件 (2)wireshark,omnipeek插件过于复杂,还有不是要装驱动就是admin权限 打算重写一个,第一个 ...

  3. MSSQL 生成拼音码

    MSSQL 生成拼音码 /*============================================================================== 名称:fn_G ...

  4. INNO 补丁制作技术, 打开 INNO 补丁制作方法的第一页

    INNO 补丁制作技术, 打开 INNO 补丁制作方法的第一页 作者:xin 日期:2005-09-23 字体大小: 小 中 大   VPatch 在 INNO 中的应用. VPatch 属于专为NS ...

  5. Android Gradle 多Module单独编译一个Module

    假如项目中有两个Module,app1和app2.假如我只想对app1 module进行build,则可以: gradle :App1:build build命令可以换成任意gradle命令.

  6. 实用SQL

    下列语句部分是MsSql语句,不可以在access中使用.SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,U ...

  7. Redis部分数据结构方法小结

    package com.practice.util; import java.util.HashMap; import java.util.List; import java.util.Map; im ...

  8. UVA 1395 苗条的生成树(最小生成树+并查集)

    苗条的生成树 紫书P358 这题最后坑了我20分钟,怎么想都对了啊,为什么就wa了呢,最后才发现,是并查集的编号搞错了. 题目编号从1开始,我并查集编号从0开始 = = 图论这种题真的要记住啊!!题目 ...

  9. [家里蹲大学数学杂志]第041期中山大学数计学院 2008 级数学与应用数学专业《泛函分析》期末考试试题 A

    1 ( 10 分 ) 设 $\mathcal{X}$ 是 Banach 空间, $f$ 是 $\mathcal{X}$ 上的线性泛函. 求证: $f\in \mathcal{L}(\mathcal{X ...

  10. Linux定时任务系统 Cron

    运行计划任务时:service crond restart提示:crond: unrecognized service安装计划任务:yum -y install vixie-cron 另外附计划任务的 ...