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 ...
随机推荐
- python模块_re模块
正则表达式笔记'''#re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none.#re.search 扫描整个字符串并返回第一个成功的匹配#fi ...
- Get请求,Post请求乱码问题解决方案
下面以两种常见的请求方式为例讲解乱码问题的解决方法. 1.Post方式请求乱码. 自从Tomcat5.x以来,Get方式和Post方式提交的请求,tomcat会采用不同的方式来处理编码. 对于Post ...
- BZOJ4001[TJOI2015]概率论——卡特兰数
题目描述 输入 输入一个正整数N,代表有根树的结点数 输出 输出这棵树期望的叶子节点数.要求误差小于1e-9 样例输入 1 样例输出 1.000000000 提示 1<=N<=10^9 设 ...
- BZOJ5372 PKUSC2018神仙的游戏(NTT)
首先有一个想法,翻转串后直接卷积看有没有0匹配上1.但这是必要而不充分的因为在原串和翻转串中?不能同时取两个值. 先有一些结论: 如果s中长度为len的前缀是border,那么其存在|s|-len的循 ...
- Minimum Cost POJ - 2516(模板题。。没啥好说的。。)
题意: 从发货地到商家 送货 求送货花费的最小费用... 有m个发货地,,,n个商家,,每个商家所需要的物品和物品的个数都不一样,,,每个发货地有的物品和物品的个数也不一样,,, 从不同的发货地到不同 ...
- Java若不为空则取其值的lambda表达式
原本的写法是: Map<String, Object> map = new HashMap<>(); String text = ""; if(map. ...
- 学习Spring Boot:(二十四)多数据源配置与使用
前言 随着业务量增大,可能有些业务不是放在同一个数据库中,所以系统有需求使用多个数据库完成业务需求,我们需要配置多个数据源,从而进行操作不同数据库中数据. 正文 JdbcTemplate 多数据源 配 ...
- protobuf for java
本文档为java编程人员使用protocol buffer提供了一个基本的介绍,通过一个简单的例程进行介绍.通过本文,你可以了解到如下信息: 1.在一个.proto文件中定义一个信息格式. 2.使用p ...
- 洛谷P2446 大陆争霸
这是一道dijkstra拓展......不知道为什么被评成了紫题. 有一个很朴素的想法就是每次松弛的时候判断一下那个点是否被保护.如果被保护就不入队. 然后发现写起来要改的地方巨多无比...... 改 ...
- 【codevs1004】四子连棋 状压bfs
题目大意:给定一个大小为 4*4 的棋盘,分别有 7 个黑子.7 个白子和 2 个空位构成,求出至少需要移动多少步,才能使得四个相同的棋子共线. 题解:显然每一种棋盘的局面都是一个状态,因此需要采用状 ...