MyBatis全局配置文件mybatis-config.xml
1.在官方下载的mybatis-3.4.5.zip压缩包中,有我们需要的mybatis核心jar包和mybatis的快速入门的pdf文件
在mybatis的快速入门的pdf文件中,复制如下代码到我们项目中的mybatis-config.xml文件中


以上就是我们需要的简单的全局配置文件的格式
2.按住CRTL+鼠标左键点击全局配置文件的约束文件的链接:
http://mybatis.org/dtd/mybatis-3-config.dtd将文件下载到本地
或者直接解压我们下载的mybatis-3.4.5.zip压缩包,然后在解压后的文件夹中找到mybatis-3.4.5.jar,使用将其解压,在解压后的文件夹中,在mybatis-3.4.5\org\apache\ibatis\builder\xml路径下找到mybatis-3-config.dtd文件

3.向我们编写的mybatis-config.xml文件中关联dtd约束文件



现在按住alt+/就会出现提示
4.查看官方文档 Configuration XML章节,可以查看MyBatis-config.xml文件中允许使用的节点信息

4-1:properties节点
1.MyBatis可以使用properties来引入外部properties配置文件的内容
resource:引入类路径下的资源
url:引入网路路径或者磁盘路径下的资源
我们之前写的mybatis-config.xml全局配置文件,如下:

把jdbc的相关信息已经写死,现在我们可以使用properties来引入类路径下的资源
将jdbc的相关信息写成*.properties配置文件,使用properties节点将其引入
Jdbc配置文件如下

改写后的mybatis-config.xml文件如下:

4-2:settings节点
settings包含很多重要的设置项
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
例如:

这是设置可以自动的将数据库的列明为A_COUNT,带下划线的列,自动转成驼峰命名aCount与javaBean进行匹配
其他还有很多重要的设置项,需要时查官方的文档
4-3:typeAliases节点
别名处理器,可以为我们的java类型起别名,别名不区分大小写
01 typeAlias为某个java类型起别名
typeAlias节点中的属性
type:指定要起别名的类型全类名,默认别名是就是类名全小 写:emp
alias:指定新的别名
例如,我们之前写的empMapper.xml文件中

可以使用Mybatis-config.xml全局配置文件为这个全限定类名起别名

现在我们的empMapper.xml可以改写为

02 typeAliases下还有一个package标签
批量起别名
package:为某个包下的类批量起别名
name属性:指定包名,为当前包以及所有的后代包中的类都起一个 默认别名(默认别名就是类名的全小写)
例如:为cn.bdqn.mybatis.been包下的所有类起别名
<typeAliases>
<package name="cn.bdqn.mybatis.been"/>
</typeAliases>
但是如果两个后代包中都同时有一个emp的话就会产生冲突,这时可以在某一个同名类中使用注解的方法为其起别名

MyBatis已经为基本数据类型和其包装类以及一些常用的类起好别名,请查看官网帮助文档
建议别用别名,使用全类名方式
4-4: typeHandlers节点 类型处理器
将java中的类型处理成数据库中的类型 例如String处理成为数据库中的varchar类型等.
可以手动进行注册和重写
4-4: plugins
这里暂时不做笔记
待后续
4-5:environments环境们,mybatis可以配置多种环境,default属性可以指定使用某种环境,从而达到快去进行环境的切换
environment:配置具体的环境信息;必须有两个标签:transactionManager 和dataSource,id属性代表当前环境的唯一标识
transactionManager:事务管理器;type属性代表事务管理器的类型,可以有两种取值JDBC(JdbcTransactionFactory)|MANGED(ManagedTransactionFactory),其实JDBC和MANGED是两个别名

自定义事务管理器,只需要实现TransactionFactory接口,Type指定全类名
dataSource 数据源
type:数据源类型,官方提供三种UNPOOLED|POOLED|JNDI 这三个也是别名

可以自定义数据源:实现DataSourceFactory接口,type就是我们自定义数据源的全类名

4-6:databaseIdProvider节点 支持多数据库厂商
type="DB_VENDOR",DB_VENDOR也是别名,指的VendorDatabaseIdProvider这个类
作用就是得到数据库厂商的标识(驱动自带),Mybatis就能根据数据库厂商标识来执行不同的sql
property.为不同的数据库厂商起别名
例如:

然后到映射文件中进行修改

4-7:mapper将我们写好的SQL映射文件(empMapper.xml)一定要注册到全局配置文件中 (mybatis-config.xml)
mappers:将sql映射注册到全局配置中
注册文件:
resource:引入类路径下的sql映射文件
url:引用网络路径或磁盘路径下的sql映射文件
注册接口:
class:直接引用(注册)接口
1.有sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下;
2.没有sql映射文件,所有的sql都是利用注解写在接口上
推荐:比较重要的DAO接口我们来写SQL映射文件
不重要的,简单的dao接口为来快速开发可以使用注解
package 批量注册有sql映射文件,映射文件名必须与接口同名.并且放在与接口同一目录下;
name用来指定包名
MyBatis全局配置文件mybatis-config.xml的更多相关文章
- MyBatis全局配置文件MyBatis-config.xml代码
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml
比如针对我这个项目的mybatis全局配置文件SqlMapConfig.xml做一些说明: <?xml version="1.0" encoding="UTF-8& ...
- Mybatis全局配置文件详解(三)
每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionF ...
- MyBatis 全局配置文件详解(七)
MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...
- IntelliJ IDEA中,mybatis的配置文件(map.xml)无法编译到class文件夹下
编译工具:IntelliJ IDEA 项目结构:maven 项目框架:SSM 问题:java目录下,mybatis的配置文件(map.xml)无法编译到class文件夹下 问题原因:在idea中,直接 ...
- Spring+SpringMVC+MyBatis深入学习及搭建(三)——MyBatis全局配置文件解析
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6874672.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(二)——My ...
- (六)mybatis 全局配置文件讲解
目录 properties (属性) settings 全局参数配置 typeAliases 别名设置 typeHandlers 类型处理器 mapper (映射器) 细节 properties (属 ...
- MyBatis全局配置文件的各项标签3
mapper 将sql映射注册到全局配置中,这个我们在上一章已经使用过了, resource 这个属性是用来引用类路径下的sql映射文件 url 这个属性是用来引用网络路径或磁盘路径下的sql映射文件 ...
- MyBatis全局配置文件标签详解
一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...
随机推荐
- Node buffer模块缓冲区
//1:字节 byte//1024b = 1kb [千字节]//1024kb = 1mb [兆字节]//1024mb = 1gb [吉字节]//1024gb = 1tb [梯]//1024tb = 1 ...
- 配置自己的Maven方式并使用Maven 运行项目Idea的maven的项目
(1) 当安装了 maven之后,需要导入项目代码,然后编译执行: 打开Idea ==>然后点击小扳手==>在搜索框中输入maven==>然后找到 Maven home direct ...
- Java 数组实现 stack
首先定义 IStack package cn.com.example.stack; /** * Created by Jack on 2017/3/8. */ public interface ISt ...
- Ubuntu 16.04配置JDK
此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 一.JRE和JDK JRE(Java Runtime Environment)是运行一个基 ...
- spring boot 系列之五:spring boot 通过devtools进行热部署
前面已经分享过四篇随笔: spring boot 系列之一:spring boot 入门 spring boot 系列之二:spring boot 如何修改默认端口号和contextpath spri ...
- LOJ6387 [THUPC2018] 绿绿与串串 【manacher】
题目分析: 比较简单,先跑一边manacher,然后对于回文部分可以碰到末尾的一定满足条件,否则向后转移. 代码: #include<bits/stdc++.h> using namesp ...
- 【BZOJ1998】[HNOI2010]物品调度(并查集,模拟)
[BZOJ1998][HNOI2010]物品调度(并查集,模拟) 题面 BZOJ,为啥这题都是权限题啊? 洛谷 题解 先不管\(0\)位置是个空,把它也看成一个箱子.那么最终的答案显然和置换循环节的个 ...
- 洛谷 P2345 奶牛集会 解题报告
P2345 奶牛集会 题目背景 MooFest, 2004 Open 题目描述 约翰的N 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨 ...
- 震惊!1MB == 1000KB??
稍微对电脑了解一点的同学可能都知道,电脑中的单位换算是: 1KB = 1024B 1MB = 1024KB 1GB = 1024MB ... 以前,我也是这么认为的.... 最近我在Linux解压某个 ...
- 利用快排partition求前N小的元素
求前k小的数,一般人的想法就是先排序,然后再遍历,但是题目只是求前N小,没有必要完全排序,所以可以想到部分排序,而能够部分排序的排序算法我能想到的就是堆排序和快排了. 第一种思路,局部堆排序. 首先, ...