全局配置文件为mybatis-config.xml

1、properties标签

<properties resource="dbconfig.properties"></properties>

可以使用properties来引入外部properties配置文件的内容

引入方式有两种:

  ①resource:引入类路径下的资源

  ②url:引入网络路径或者磁盘路径下的资源

2、settings标签  

<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

settings包含很多重要的设置项

setting:用来设置每一个设置项 name:设置项名 value:设置项取值

具体参见:http://www.mybatis.org/mybatis-3/zh/configuration.html#settings

3、typeAliases

<typeAliases>
  <typeAlias type="com.atguigu.mybatis.bean.Employee" alias="emp"/>
   <package name="com.atguigu.mybatis.bean"/>
</typeAliases>

typeAliases别名处理器:可以为我们的java类型起别名,别名不区分大小写。

①typeAlias:为某个java类型起别名

      type:指定要起别名的类型全类名;默认别名就是类名小写;

      alias:指定新的别名

②package:为某个包下的所有类批量起别名

      name:指定包名(为当前包及下面所有的后代包的每一个类都起一个默认的别名(类名小写))

      批量起别名的情况下,可以使用@Alias注解为某个类型指定新的别名。

4、environments标签

<environments default="dev_mysql">
<environment id="dev_mysql">
<transactionManager type="JDBC"></transactionManager>
<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> <environment id="dev_oracle">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${orcl.driver}" />
<property name="url" value="${orcl.url}" />
<property name="username" value="${orcl.username}" />
<property name="password" value="${orcl.password}" />
</dataSource>
</environment>
</environments>

  myBatis可以配置多种环境,default指定使用某种环境,可以达到快速切换环境。  

  ①environment:配置一个具体的环境信息:必须有两个标签Id代表当前环境的唯一标识。

  ②transactionManager:事务管理器

    type:事务管理器的类型;JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)。

       自定义事务管理器:实现TransactionFactory接口.type指定为全类名

  ③dataSource:数据源。

    type:数据源类型;UNPOOLED(UnpooledDataSourceFactory)|POOLED(PooledDataSourceFactory)|JNDI(JndiDataSourceFactory)

    自定义数据源:实现DataSourceFactory接口,type是全类名

5、databaseIdProvider标签 支持多数据厂商的

<databaseIdProvider type="DB_VENDOR">
<!-- 为不同的数据库厂商起别名 -->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

    在SQL映射文件中可以指定所用的数据库id,即使用哪个数据库厂商。在databaseId中指定 

    <select id="getEmployeeById" resultType="Employee" databaseId="mysql" >
SELECT id ,user_name,gender,email FROM tbl_employee WHERE id
= #{id}
</select>

7、mappers标签 将SQL映射注册到全局配置中

  将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中

  ①注册一个sql映射注册配置文件

<mappers>
<mapper resource="mybatis/mapper/EmployeeMapper.xml"/>
</mappers>

    resource:引用类路径下的sql映射文件

    url:引用网络路径或者磁盘路径下的sql映射文件(file:///var/mappers/AuthorMapper.xml)

  ②注册一个接口      

<mappers>
<mapper class="com.atguigu.mybatis.dao.EmployeeMapperAnnotation"/>
</mappers>

    class:引用(注册)接口,

        有sql映射文件,映射文件名必须和接口同名(忽略大小写),并且放在与接口同一目录下

        没有sql映射文件,所有的sql都是利用注解写在接口上

    推荐:比较重要的复杂的DAO接口我们来写sql映射文件,不重要的,简单的Dao接口为了开发快速可以使用注解

    如果采用接口注册,mapper sql映射文件中的nameSpace属性必须是接口的全类名。

  ③批量注册       

<mappers>
<package name="com.atguigu.mybatis.dao"/>
</mappers>

  

MyBatis-mybatis全局映射文件解析的更多相关文章

  1. MyBatis 源码分析 - 映射文件解析过程

    1.简介 在上一篇文章中,我详细分析了 MyBatis 配置文件的解析过程.由于上一篇文章的篇幅比较大,加之映射文件解析过程也比较复杂的原因.所以我将映射文件解析过程的分析内容从上一篇文章中抽取出来, ...

  2. Mybatis源码阅读-配置文件及映射文件解析

    Mybatis源码分析: 1.配置文件解析: 1.1源码阅读入口: org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(); 功能:解析全局配置文 ...

  3. Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件

    封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...

  4. Mybatis(二) SQL映射文件

    SQL映射文件 单条件查询 1. 在UserMapper接口添加抽象方法 //根据用户名模糊查询 List<User> getUserListByName(); 2. 在UserMappe ...

  5. 初始MyBatis、SQL映射文件

    MyBatis入门 1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了Google Code,改名为MyBatis,2013年迁移到GitHub.是一个基于 ...

  6. MyBatis 的 XML 映射文件使用说明

    简介 文档参考地址:http://www.mybatis.org/mybatis-3/zh/index.html MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器 ...

  7. Mybatis学习—XML映射文件

    总结自 Mybatis官方中文文档 Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同 ...

  8. mybatis 学习三 关键文件解析

    1:  mybatis-config.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYP ...

  9. Mybatis的XML映射文件(四)

    MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...

随机推荐

  1. Linux系统中while管道的

    因为项目从AIX系统迁移到了RedHat系统,之前写过的一段Shell脚本不能成功运行,经过分析,锁定了关键代码如下: readFileContent(){ currentFile=$ fileSho ...

  2. 【[HAOI2009]逆序对数列】

    发现自己学了几天splay已经傻了 其实还是一个比较裸的dp的,但是还是想了一小会,还sb的wa了几次 首先这道题的状态应该很好看出,我们用\(f[i][j]\)表示在前\(i\)个数中(即\(1-i ...

  3. .ne 基础(2)

    类是一种抽象 抽象的概念,具体的实例. 现实是先有对象,再抽象成类,再用类来创建实例 构造方法 (1)如果写好了类,不写构造方法,系统会默认一个无参的构造方法 (2) 如果手动添加了一个 构造方法,就 ...

  4. 隐藏C#的TabControl控件的选项卡TabPage

    在使用TabControl控件时,希望隐藏其中某个选项卡(即TabPage).TabPage类明明提供了一个Hide方法,用在代码中却没有任何效果,甚是奇怪.无奈之余,只好考虑另辟途径.方法一:设置该 ...

  5. 新建oracle实例

    1.安装好ORACLE服务端.2.在开始菜单中,点击ORAHOME目录下的"Configuration and Migration Tools"下的"Database C ...

  6. ListView 中嵌套 GridView

    1.主布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...

  7. css代码添加背景图片常用代码

    css代码添加背景图片常用代码 1 背景颜色 { font-size: 16px; content: ""; display: block; width: 700px; heigh ...

  8. MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询

    支持的 JDBC 类型为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 JDBC 类型. BITFLOATCHARTIMESTAMPOTHERUNDEFINEDTINY ...

  9. 搭建 Redis 的主从

    主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读写比率 ...

  10. 如何理解Hibernate的持久化?

    学习Hibernate,必须要理解什么是持久化?结合了一下网上的各位大佬的观点和自己的理解: 持久化概念 持久化是将程序数据在持久状态和瞬时状态间转换的机制.通俗的讲,就是瞬时数据(比如内存中的数据, ...