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

 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. Java面试题总结之数据库与SQL语句

    1.有3 个表,表结构如下: Student 学生表(学号,姓名,性别,年龄,组织部门) Course 课程表(编号,课程名称) Sc 选课表(学号,课程编号,成绩).    1)写一个SQL 语句, ...

  2. SSH移植

    1. 下载需要的源码,直接google最新的版本吧 mkdir -p ~/arm/fs ;mkdir -p ~/arm/source 下载zlib: zlib-1.2.3.tar.gz 下载ssl : ...

  3. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

  4. openwrt下载编译

    1. 安装依赖包: yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext make ncurses-devel ...

  5. 常见Python运行时错误

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”) 该错误将发生在 ...

  6. Android中AsyncTask使用具体解释

    在Android中我们能够通过Thread+Handler实现多线程通信.一种经典的使用场景是:在新线程中进行耗时操作.当任务完毕后通过Handler向主线程发送Message.这样主线程的Handl ...

  7. [Bash] View Files and Folders in Bash

    Sometimes when working at the command line, it can be handy to view a file’s contents right in the t ...

  8. [Typescript] Specify Exact Values with TypeScript’s Literal Types

    A literal type is a type that represents exactly one value, e.g. one specific string or number. You ...

  9. 聚合类新闻client产品功能点详情分析

    产品功能点 功能 今日头条 百度新闻 鲜果 ZAKER 媒体订阅 × √ ★ ★ 个性化内容推荐 ★ √ × × 个性化订阅(RSS) × × ★ × 视频新闻 × × × × 评论盖楼 √ √ √ ...

  10. Handlebars.js 中文文档

    Home  »  前端   »   Handlebars.js 中文文档 Handlebars.js 中文文档 Posted in 前端 By KeenWon On 2014年4月3日 Views:  ...