全局配置文件中本人只记录了常用的几个

 typeHandlers, objectFactory,objectWrapperFactory, reflectorFactory, plugins, databaseIdProvider

这几个只是作为了解,没做记录

mybatis-config.xml:

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!--
1:mybatis可以用properties引入外部properties文件内容
resource:引入的是项目的类路径,即项目中的文件
url:引入的是网络路径或者是磁盘路径
-->
<properties resource="dbconfig.properties"></properties> <!--
2:settings标签含有很多重要的设置项
setting用来设置每一个设置项
name:设置项名
value:设置项值
-->
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings> <!--
3:typeAliases别名处理器,可以为我们的java类型起别名(别名不区分大小写,也就是即使你制定了别名无论大小写,只要字母对的上就可以)
1)typeAlias为指定java类型起别名,
type:被指定的java类型全类名,默认别名是类名的小写(employee,此时mapper文件中用到的全类名都能写成此别名)
alias:指定全新别名
2)package为某包下以及该子包下的所有类起别名(默认别名是类名的小写)
name:指定包的全路径
3)当批量起别名的时候,若子包中有类名与父包中类名相同时,会发生冲突报错,
这时可以在冲突的bean文件中添加@Alias标签来制定冲突类别名;
-->
<typeAliases>
<typeAlias type="com.yinfu.mybatis.beans.Employee"/>
<!-- <package name="com.yinfu.mybatis.beans"/> -->
</typeAliases> <!--
4:environments环境配置 mybatis可以配置多种环境 default指定使用某种环境,他的值对应的是环境的id
environment配置一个具体的环境信息,(必须包含俩标签),id代表当前环境的唯一标识
transactionManager:事务管理器
type:事务管理器的类型两种:JDBC(JdbcTransactionFactory事务管理器)|MANAGED(ManagedTransactionFactory事务管理器),
dataSource:数据源
type:数据源类型
-->
<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> <!--
5:databaseIdProvider用来设置多数据库厂商(mysql,oracle,sqlServer等)
当配置环境中有其他数据库的链接配置,并且default来切换查询环境(用的那个数据库),
并且mapper文件中有对SQL语句指定查询环境的属性,这样mybatis可移植性大大增强
-->
<databaseIdProvider type="DB_VENDOR">
<!-- 为不同数据库厂商指定别名 -->
<property name="MySQL" value="mysql"/>
<property name="Oracle" value="oracle"/>
</databaseIdProvider> <!-- 寫好的的SQL映射文件(mapper文件)一定要注册到mybatis-config.xml中 -->
<!--
6:mappers:将SQL映射(mapper文件或mapper接口)注册到全局映射中(mybatis-config.xml)
[1]mapper:注册指定的sql映射
1)配置文件(mapper.xml文件)注册
resource:引入的是项目的类路径,即项目中的文件
url:引入的是网络路径或者是磁盘路径
2)接口注册
class:接口名全路径
①有SQL映射文件(mapper.xml),映射文件名要与接口名同名,并且俩文件要在同一目录下;
②没有SQL映射文件,利用注解将SQL语句写在接口中对应的方法上(@Select @Delete等)
推荐:比较重要的Dao接口用SQL映射文件的方式,不太重要的可以用注解的方式,但是注解修改了源代码;
[2]package:批量注册
name:包的全路径名称;
有SQL映射文件(mapper.xml),映射文件名要与接口名同名,并且俩文件一定要在同一包下 -->
<mappers>
<mapper resource="com/yinfu/mybatis/dao/EmployeeMapper.xml"/>
</mappers>
</configuration>

对应的mapper映射文件:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 接口式编程,namespace对应的是接口的全类名 -->
<mapper namespace="com.yinfu.mybatis.dao.EmployeeMapper">
<!--
接口式编程,id对应的是接口中的方法名
databaseId是在mybatis-config.xml中databaseIdProvider标签中定义的
即:这条SQL语句是运行在哪个数据库环境下的(mysql,oracle,sql severd等)
此时程序是运行在mysql环境下的,指定了mysql数据库名的和没指定名称的都会执行,如果mapper文件
存在两个相同id方法名的 两条SQL语句,mybatis会自动舍弃没指定数据库名的那条;
-->
<select id="getObjById" resultType="employee" databaseId="mysql(数据库类型的别名)">
select * from tbl_employee where id = #{id}
</select>
</mapper>

对应的mapper接口:

 package com.yinfu.mybatis.dao;

 import com.yinfu.mybatis.beans.Employee;

 public interface EmployeeMapper {

     /**
*
* 还有一种注解式mapper,没有对应的mapper.xml文件,而是将SQL语句写在了注解里
* 例:
* @Select("select * from tbl_employee where id = #{id}")
* public Employee getObjById(Integer id);
*
* @param id
* @return
*/ public Employee getObjById(Integer id);
}

Mybatis的全局配置文件标签介绍(mybatis-config.xml)的更多相关文章

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

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

  2. 由浅入深---MyBatis的全局配置文件

    从我开始接触代码,我就很怕写配置文件,一般的配置文件我都是直接从上一个项目复制到这个项目来改改,可能有部分同学也有我这种痛吧: 我目前一般的做法,先去找找例子(从网上,从github,从官网)之后再改 ...

  3. Mybatis(二) 全局配置文件详解

    这节来说说全局配置文件的东西,非常简单.看一遍就懂了. --WH 一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.prop ...

  4. MyBatis(2)-全局配置文件

    本文的代码是在MyBatis(1)-简单入门基础之上进行学习的,如有不懂请先看此博文MyBatis(1)-简单入门! 1)配置文件的安装 --->在联网的情况下,点击去下载http://myba ...

  5. Mybatis笔记五:Mybatis的全局配置文件Configuration.xml讲解

    从 XML 中构建 SqlSessionFactory 每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessio ...

  6. SqlMapConfig.xml全局配置文件解析(mybatis)

    原文  http://www.cnblogs.com/selene/p/4607004.html 一:SqlMapConfig.xml配置文件的内容和配置顺序如下 properties(属性) set ...

  7. [mybatis]Example的用法 标签: mybatis 2017-05-21 21:46 651人阅读 评论(11)

    Example类是什么? Example类指定如何构建一个动态的where子句. 表中的每个non-BLOB列可以被包括在where子句中. 例子是展示此类用法的最好方式. Example类可以用来生 ...

  8. _MyBatis3-topic06.07.08.09_ 全局配置文件_引入dtd约束(xml提示)/ 引入properties引用/ 配置驼峰命名自动匹配 /typeAliases起别名.批量起别名

    MyBatis3 的全局配置文件 : Setting -官方文档 笔记要点 出错分析 [Intellij idea配置外部DTD文件] 设置步骤: (同Eclipse中的Catalog设置 ) Fil ...

  9. 3.Struts2配置文件标签介绍

    Struts2的很多核心功能都是由拦截器实现的. struts-default.xml中定义了这些拦截器与Result类型. 所以,不继承struts-default包,Struts2提供的很多核心功 ...

随机推荐

  1. hdu6200 mustedge mustedge mustedge (并查集+dfs序树状数组)

    题意 给定一个n个点m条边无向图(n,m<=1e5) 支持两个操作 1.添加一条边 2.询问点u到点v的所有路径中必经边的条数 操作数<=1e5 分析 第一眼看起来像是要动态维护无向图的边 ...

  2. Spring Cloud(9):Config配置中心

    Config配置中心作用简单来讲:统一配置,方便管理 开源配置中心: 1.百度Disconf 2.阿里Diamand 3.Spring Cloud Config 搭建Config-Server 快速上 ...

  3. response对象学习

    import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpSer ...

  4. Springmvc 前台传递参数到后台需要数据绑定

    我们知道,当提交表单时,controller会把表单元素注入到command类里,但是系统注入的只能是基本类型,如int,char,String.但当我们在command类里需要复杂类型,如Integ ...

  5. Eclipse Explorer插件快速打开项目文件在系统资源管理器

    官网:https://github.com/Jamling/eclipse-explorer 安装: 1.在线安装 [Help]->[Eclipse Marketplace]搜索:Eclipse ...

  6. 我被C++开发欺辱的岁月

    前言 人被压迫了,为什么不斗争?——鲁迅 作为一个C#开发者,我经历了,也见证了很多同行饱受C++开发的歧视和欺辱. 而且,这种行为,现在依然持续的发生在C#开发者的身上,就目前为止,绝大部分C#开发 ...

  7. delphi 的结构体对齐关键字

    Align fields (Delphi)   Go Up to Delphi Compiler Directives (List) Index Type Switch Syntax {$A+}, { ...

  8. 偏差-方差分解Bias-Variance Decomposition

    转自: http://www.cnblogs.com/jmp0xf/archive/2013/05/14/Bias-Variance_Decomposition.html

  9. vs2010下配置CUDA出现kernel launch failed问题,内核无效

    首先, 推荐一篇不错的配置文档~手把手教你 CUDA 5.5与VS2010编译环境的搭建.笔者就是在这篇文章的指导下成功地在VS2010上搭建了CUDA 6.5~ 其次. 文末给出的执行演示样例不好使 ...

  10. 链接脚本在编程中的高级运用之二——执行时库和C++特性支持

    我们在链接脚本在编程中的高级运用之中的一个可变长数组中已经讲述了编译链接的原理,并且以uboot命令为例具体介绍链接脚本怎样实现可变长数组. 本章在前者的基础上继续讲述链接脚本在执行时库中的高级应用技 ...