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 ...
随机推荐
- Ideal test 不执行main方法了
参考:idea 导入项目后不能执行main方法 用了ideal之后,发现自己的项目里面没有test文件夹,自己建了一个,发现竟然不能执行main函数, 后来经过点播之后,才知道,光建立文件夹是没用的, ...
- delphi ADOQuery 开启本地缓存
在开发 C/S 应该程序的时候,有时为了程序的运行提高效率. 需要使用 缓存功能: //ADO组件需要把 ADOQuery1.LockType:=ltBatchOptimistic; ADOQuery ...
- redis map存储的注意点
- Django-website 程序案例系列-8 html模板文件详解
主模板:master.html <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- BZOJ2733[HNOI2012]永无乡——线段树合并+并查集+启发式合并
题目描述 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达 ...
- hdu 6394 Tree (2018 Multi-University Training Contest 7 1009) (树分块+倍增)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=6394 思路:用dfs序处理下树,在用分块,我们只需要维护当前这个点要跳出这个块需要的步数和他跳出这个块去 ...
- Nginx, HTTPS的配置
server {listen 443; ####HTTPS指定端口server_name www.web.com; #####域名或者IP root /data/wwwroot/l ...
- android限制横竖屏切换 方法
在需要限制横竖屏切换的时候,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制. android:screenOrientation=& ...
- [CTSC2018] 假面 | 期望 DP
题目链接 LOJ 2552 Luogu P4564 考场上这道题我先是写了个70分暴力,然后发现似乎可以NTT,然鹅问题是--我没学过NTT,遂脑补之,脑补出来了,下午出成绩一看,卡成暴力分(70)- ...
- 震惊!1MB == 1000KB??
稍微对电脑了解一点的同学可能都知道,电脑中的单位换算是: 1KB = 1024B 1MB = 1024KB 1GB = 1024MB ... 以前,我也是这么认为的.... 最近我在Linux解压某个 ...