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的更多相关文章

  1. MyBatis全局配置文件MyBatis-config.xml代码

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...

  2. Mybatis学习(3)关于mybatis全局配置文件SqlMapConfig.xml

    比如针对我这个项目的mybatis全局配置文件SqlMapConfig.xml做一些说明: <?xml version="1.0" encoding="UTF-8& ...

  3. Mybatis全局配置文件详解(三)

    每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心.SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionF ...

  4. MyBatis 全局配置文件详解(七)

    MyBatis 配置文件作用 MyBatis配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息.它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信息和设置功能.其 ...

  5. IntelliJ IDEA中,mybatis的配置文件(map.xml)无法编译到class文件夹下

    编译工具:IntelliJ IDEA 项目结构:maven 项目框架:SSM 问题:java目录下,mybatis的配置文件(map.xml)无法编译到class文件夹下 问题原因:在idea中,直接 ...

  6. Spring+SpringMVC+MyBatis深入学习及搭建(三)——MyBatis全局配置文件解析

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6874672.html 前面有写到Spring+SpringMVC+MyBatis深入学习及搭建(二)——My ...

  7. (六)mybatis 全局配置文件讲解

    目录 properties (属性) settings 全局参数配置 typeAliases 别名设置 typeHandlers 类型处理器 mapper (映射器) 细节 properties (属 ...

  8. MyBatis全局配置文件的各项标签3

    mapper 将sql映射注册到全局配置中,这个我们在上一章已经使用过了, resource 这个属性是用来引用类路径下的sql映射文件 url 这个属性是用来引用网络路径或磁盘路径下的sql映射文件 ...

  9. MyBatis全局配置文件标签详解

    一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...

随机推荐

  1. Qt__主窗口、菜单和工具条(QMainWindow,QMenu,QToolBar)

    转自豆子空间 主窗口 Qt的GUI程序有一个常用的顶层窗口,叫做MainWindow.MainWindow继承自QMainWindow.QMainWindow窗口分成几个主要的区域: 最上面是Wind ...

  2. jmeter 参数化测试

    变量的值可以不改变,可以被定义一次,如果不使用,不会改变值. 在测试计划中,变量可以做为方便的频繁使用的表达式,或都作为在测试运行中的可能会改变的常量,例如 线程组中线程的数量.主机名称 在确定一个测 ...

  3. Word2010设置题注和交叉引用方法

    设置题注 点击图片-->右键-->插入题注-->新建标签:“图”-->选择新建标签“图”-->修改“编号”-->勾选包含章节号-->设置章节起始样式:标题2- ...

  4. Lucene 分析的意思是按照某种规则进行内容拆分 支持模糊搜索

    Lucene 分析的意思是按照某种规则进行内容拆分 里面的域的值是拆分后的内容

  5. codeforces471B

    MUH and Important Things CodeForces - 471B It's time polar bears Menshykov and Uslada from the zoo o ...

  6. VMware虚拟机看不到共享目录

    1. 确认VMtools已经装好,开启共享文件夹,设置好共享目录 2.执行命令 sudo mount -t vmhgfs .host:/ /mnt/hgfs如果出现错误: Error: cannot ...

  7. GitHub && GitLab

    1.github介绍 Git作为一个开源的分布式版本控制系统,已经被越来越多的人使用,随之需要的就是需要有个专门的地方存储.管理通过Git上传的项目,这就是gitHub gitHub是一个面向开源及私 ...

  8. Leetcode 283.移动零 By Python

    思路 我们可以用python的list comprehension来取出所以非0的元素,而且这样取出来会保持原有的相对顺序,再统计先后变化的长度,补上相应的0即可 代码 class Solution( ...

  9. /dev/null 2>&1 什么意思

    在Unix中,标准输入设备 stdin是0, stdout 是1, stderr是 2.    /dev/null 2>&1这样的写法意思是将标准输出和错误输出全部重定向到/dev/nu ...

  10. HDU 3081 Marriage Match II (网络流,最大流,二分,并查集)

    HDU 3081 Marriage Match II (网络流,最大流,二分,并查集) Description Presumably, you all have known the question ...