14天阅读挑战赛

目录

  • 1. 引言
  • 2. 主要元素
  • 3. 常用配置元素介绍
    • 3.1 < properties >
    • 3.2 < settings >
    • 3.3 < typeAliases >
    • 3.4 < typeHandlers >
    • 3.5 < plugins >
    • 3.6 < environments >
    • 3.7 < mappers >
  • 4. 结语

1. 引言

在MyBatis的核心配置中,包含了很多影响MyBatis行为的重要信息,这些信息通常在一个项目中只会在一个配置文件中编写,并且编写后也不会轻易改动。虽然在实际项目中需要开发人员编写或修改的配置文件不多,但是熟悉配置文件中各个元素的功能还是十分重要的。

2. 主要元素

在MyBatis框架的核心配置文件中,< configuration >元素是配置文件的根元素,其他元素都要在< configuration >元素内进行配置,其配置文件的主要元素如图

从图中可以看出,在MyBatis的配置文件中包含了 多个元素,这些元素在配置文件中分别发挥着不同的作用。开发人员索要熟悉的就是图中的< configuration >元素各个子元素的配置。

这里要特别注意,< configuration >的子元素必须按照图中由上到下的顺序进行配置,否则MyBatis在解析XML文件的时候会报错

3. 常用配置元素介绍

3.1 < properties >

< properties >是一个配置属性的元素,该元素常用于将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性,例如数据库的连接等属性,就可以通过配置文件进行转化。

配置个人数据库连接配置

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/zxy_db01
jdbc.username=root
jdbc.pwd=zxy

3.2 < settings >

< settings >元素主要用于改变MyBatis运行时的行为,例如开启二级缓存,开启延迟加载等。即使不配置< settings >元素,也可以正常运行MyBatis。但是熟悉其中的元素还是很有必要的。

其常见使用方式如下

3.3 < typeAliases >

< typeAliases >元素用于给配置文件中的Java类型起别名。

 <typeAliases><!--typeAlias:设置某个类型的别名属性:type:设置需要设置别名的类型alias:设置某个类型的别名,若不设置该属性,那么该类型拥有默认的别名,即类名且不区分大小写--><typeAlias alias="user" type="com.zxy.mybatis.pojo.User"></typeAlias></typeAliases>

当POJO类过多时,可以通过自动扫描包的形式自定义别名

 <typeAliases><!--以包为单位,将包下所有的类型设置默认的类型别名,即类名且不区分大小写--><package name="com.zxy.mybatis.pojo"/></typeAliases>

默认会以首字母小写的方式来取别名。

除了可以使用 < typeAliases >元素自定义别名外,MyBatis框架还默认为许多常见的Java类型提供了相应地类型别名

3.4 < typeHandlers >

MyBatis在预处理语句中设置一个参数或者从结果集中取出一个值时,都会用其框架内部注册的typeHandler(类型处理器)进行相关处理。typeHandler的作用就是将预处理语句中传入的参数从javaType(java类型)转换为dbcType(JDBC类型),或者从数据库去除结果时将jdbcType转换成javaType

具体使用方式如下

  1. 注册一个类的类型处理器
    <typeHandlers><typeHandler handler="com.zxy.type。Hander"/></typeHandlers>
  1. 注册一个包中所有元素的类型处理器
    <typeHandlers><package name="com.zxy.type"/></typeHandlers>

3.5 < plugins >

< plugins >元素的作用是配置用户所开发的插件

3.6 < environments >

在配置文件中,< environments >用于对环境进行配置,MyBatis的环境配置实际上就是数据源的配置,我们可以通过对< environments >元素配置多种数据源,即配置多种数据库。

 <environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><!--设置连接数据库的驱动--><property name="driver" value="${jdbc.driver}"/><!--设置连接数据库的连接地址--><property name="url" value="${jdbc.url}"/><!--设置连接数据库的用户名--><property name="username" value="${jdbc.username}"/><!--设置连接数据库的密码--><property name="password" value="${jdbc.password}"/></dataSource></environment>
</environments>

在MyBatis中,可以配置两种类型的事务管理器,分别是JDBCMANAGED,关于这两个事务管理器的描述如下:

  1. JDBC:此配置使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事物的作用域。
  2. MANAGED:此配置从来不提交或回滚一个连接,而是让容器来管理事物的整个生命周期。在默认情况下,它会关闭连接,但一些容器并不希望这样,为此可以将closeConnection的属性设置为false来阻止它的默认行为。

3.7 < mappers >

在配置文件中,< mappers >元素用于指定MyBatis映射文件的位置,一般可以使用如下4种方式引入映射器文件。

  1. 类路径引入

    <mappers><mapper resource="com/zxy/mybatis/mapper/UserMapper.xml"/></mappers>
    
  2. 本地文件路径引入

    <mappers><mapper url="file:///D:/com/zxy/mapper/UserMapper.xml"/></mappers>
    
  3. 使用接口类引入

    <mappers><mapper class="com.zxy.mybatis.mapper.UserMapper.xml"/></mappers>
    
  4. 使用包名引入

    <mappers><mapper name="com.zxy.mybatis.mapper"/></mappers>
    

4. 结语

MyBatis的核心配置文件是十分重要的,关系着框架是否能正常运转,应该多熟悉结构,比如本人曾经写错了 < mappers >的配置导致映射文件找不到,十分头痛。

【MyBatis框架】核心配置文件讲解相关推荐

  1. mybatis使用map插入数据和Mybatis的核心配置文件LOG4J

    mybatis使用map插入数据 UserMapper.java包中写入 int addUser2(Map<Object,String> map); Usermapper.xml < ...

  2. MyBatis框架的详细讲解(优点与缺点)

    文章目录 前言 一.Mybatis是什么? 核心思想 二.ORM Mybatis的基本要素 二.resultMap和resultType的区别: resultMap自动映射区别: 使用@param注解 ...

  3. Mybatis框架相关知识讲解

    JAVAEE开发的三剑客:三大框架 Mybatis:封装jdbc访问代码的一个框架      (hibernate)    ORM对象关系映射 Spring MVC:用来封装servlet编程的一个框 ...

  4. 【SpringBoot零基础案例03】【IEDA 2021.1】SpringBoot框架核心配置文件application.properties的使用

    新建模块,并在src-main-java下新建IndexController类 package com.zx.springboot.springbootcontextpath.controller;i ...

  5. Idea中Spring整合MyBatis框架中配置文件中对象注入问题解决方案

    运行环境:Spring框架整合MaBitis框架 问题叙述: 在Spring配置文件applicationContext-mybatis.xml中配置好mybatis之后 <?xml versi ...

  6. 手写自己的MyBatis框架-核心对象

    1.存放参数和结果映射关系.存放SQL 语句,我们需要定义一个配置类: 2.执行对数据库的操作,处理参数和结果集的映射,创建和释放资源,我们需要定义一个执行器: 3.有了这个执行器以后,我们不能直接调 ...

  7. 【MyBatis框架】配置文件-resultMap总结

    resultMap总结 resultType: 作用: 将查询结果按照sql列名pojo属性名一致性映射到pojo中. 场合: 常见一些明细记录的展示,比如用户购买商品明细,将关联查询信息全部展示在页 ...

  8. 全网最全、最新MyBatis框架核心知识,这篇文章包你这辈子也忘不掉MyBatis!!

  9. Mybatis(一)——【快速入门、增删查改操作、核心配置文件描述及API】

    目录 原始JDBC操作 Mybatis简介 Mybatis开发步骤: Mybatis的映射文件概述 Mybatis的增删改查操作 MyBatis的核心配置文件概述 MyBatis核心配置文件层级关系 ...

最新文章

  1. hdu 2067 兔子板
  2. 病毒及***防御手册之一
  3. php mysql特殊符号过滤微信小程序_微信小程序数据过滤(filter)方法
  4. python print换行_聊聊 print 的前世今生
  5. 8.3 TensorFlow BP神经网络构建与超参数的选取
  6. 知识图谱 (1)基本概念
  7. android ztree,ztree实现权限功能(横向显示)
  8. 分而治之_播放框架模块:分而治之
  9. 基于python的贝叶斯分类算法_Python实现贝叶斯分类器
  10. Cisco交换机设置管理IP
  11. 庆祝一下博文过100篇访问量过30万
  12. KinedEditor特性
  13. Kubernetes 搭建 ES 集群(存储使用 local pv)
  14. apache的站点安全1
  15. 联想服务器重装系统后usb无法启动,联想启天装win7系统的详细教程完美解决USB不能用的问题...
  16. [Bada开发]使用静态库
  17. mac升级Nodejs和Npm到最新版
  18. nest定义路由和路由失效的问题
  19. 如何使用ABP开发一
  20. java生成自增单号(字符+日期+数字)

热门文章

  1. 一个中间继电器引发的损失
  2. 2022年全球市场数控超声波焊接机总体规模、主要生产商、主要地区、产品和应用细分研究报告
  3. 微信小程序实现短信登录-云开发
  4. ICMS開源内容管理系统
  5. redhat和ubuntu命令区别
  6. yolo cfg文件解析
  7. 【jQuery案例】手风琴
  8. 信息提取中分块或表达式
  9. kubernetes 教程 笔记
  10. maya中PySide一个很诡异的问题