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

 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. [洛谷U22158]策划体验(树上斜率优化)(二分最优决策)

    题目背景 OL不在,Clao又在肝少*前线,他虽然觉得这个游戏的地图很烦,但是他认为地图的难度还是太低了,习习中作为策划还不够FM,于是他自己YY了一种新的地图和新的机制: 题目描述 整个地图呈树形结 ...

  2. Swift简单介绍 教程

     Swift是什么? Swift是苹果于WWDC 2014公布的编程语言.这里引用The Swift Programming Language的原话: Swift is a new programmi ...

  3. GLib-GObject-WARNING **: Two different plugins tried to register

    使用 Ubuntu vivid 的 glib-2.44.1 的程序总是打印类似这种警告: GLib-GObject-WARNING **: Two different plugins tried to ...

  4. XxPay支付系统-boot版本 使用

    https://segmentfault.com/a/1190000016987391?utm_source=tag-newest 有三个版本: spring boot 版本: spring clou ...

  5. mysql 中 unix_timestamp和from_unixtime 时间戳函数

    1.unix_timestamp 将时间转化为时间戳.(date 类型数据转换成 timestamp 形式整数) 没传时间参数则取当前时间的时间戳 mysql> select unix_time ...

  6. break return continue

    1.return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行 (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返 ...

  7. Java基础学习之final和多态及类型转换

    finalkeyword: finalkeyword是终于的意思,能够修饰类,成员变量,成员方法. •    修饰类,类不能被继承 •    修饰变量,变量就变成了常量,仅仅能被赋值一次. •    ...

  8. oracle sql 超长报ORA-01460错误

    程序查找数据的时候报错了: ORA-01460: 转换请求无法实施或不合理 这是什么鬼?不合理你就提嘛,报错干什么. 程序原本好好的,现在突然报错了.数据库并没有什么更改. 后来猜测是因为执行的SQL ...

  9. 交换分区 在dd命令执行期间 top 其消耗系统约14%的cpu,而mem占比约为0

    [资源不友好代码] from pyltp import * d_dir = '/usr/local/ltp_data_v3.4.0/' def gen_one_sentence_part(paragr ...

  10. C# 中串口通信 serialport1.DataReceived 函数无法触发或者出发延时等等问题解决方法

    以前这个问题困扰我多天最后查资料一大堆,最后最终攻克了,看到非常多人做C#串口都遇到相同的问题,所以写一篇博文,以便学习交流. 一定要在com实例化的时候设置ReceivedBytesThreshol ...