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 ...
 
随机推荐
- pandas.DataFrame
			
1.可以使用单个列表或列表列表创建数据帧(DataFrame). 单个列表 import pandas as pd data = [1,2,3,4,5] df = pd.DataFrame(data) ...
 - Java之Date Time API (Java 8 新特性)
			
Java 8 – Date Time API Java 8 comes with a much improved and much required change in the way date an ...
 - python之文件系统操作(os模块)
			
文件系统操作(os模块) import os file_name = "D:\\test_data\\1.txt" file_name_2 = "D:\\test_dat ...
 - SQL连接:内连接、外连接、交叉连接。
			
SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表 stu表 1.内连接 ...
 - Linux系统——程序员跳槽必备
			
相信在看这篇文章的你,曾经或者现在是否跳槽呢,在北上广一线城市,你是否还在挣着那可怜巴巴的工资,过着拮据生活呢?但是自己想跳槽,却没有一技之长或者是自己的技术找工作太难了,那么我建议你学习下linux ...
 - nginx-日志统计
			
#!/bin/bash fd=/tmp/log# pv 点击量echo "###################点击量 --$pv-- #########################&q ...
 - ajax 调用 java webapi 多个参数(一)
			
最近开发 java webapi. 遇到一个问题,如果是多个参数(其中包含对象类型),我应该怎么传递? 一 先看解决方案: ajax <script> var data={ " ...
 - Get The Treasury HDU - 3642(扫描线求三维面积交。。体积交)
			
题意: ...就是求体积交... 解析: 把每一层z抽出来,计算面积交, 然后加起来即可..! 去看一下 二维面积交的代码 再看看这个三维面积交的代码.. down函数里 你发现了什么规律!!! 参考 ...
 - 【BZOJ1064】【NOI2008】假面舞会(图论,搜索)
			
题面 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一个自己喜欢的面 具.每个面具都有一个编号 ...
 - 【Linux】fg、bg让你的进程在前后台之间切换
			
Linux下的fg和bg命令是进程的前后台调度命令,即将指定号码(非进程号)的命令进程放到前台或后台运行.比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作:而一些服务型的 ...