当前位置: 首页 > news >正文

【MyBatis】MyBatis-config标签详解

目录

  • MyBatis配置文件标签详解
    • configuration标签
    • properties标签
    • typeAliases标签
    • environments标签
    • environment标签
    • transactionManager标签
    • dataSource标签
    • mappers标签

MyBatis配置文件标签详解

我们在使用MyBatis框架的时候需要一个配置文件——MyBatis-config.xml来告诉MyBatis我们所使用的数据类型以及Mappers所在的位置等信息,那么我们来看一下这个配置文件中大部分标签都代表了什么:

emmm这个配置文件是有模板的,我们可以去MyBatis官网下载和所使用依赖版本对应的MyBatis压缩包,在那个里面会找到一份说明文件:mybatis-版本号.pdf,或者你不想下载的话:mybatis – MyBatis 3 | 入门打开这个网站,你会得到你想要的一切说明。

configuration标签

我们所有的配置标签都会在这个大标签下配置,子标签是有顺序的,顺序不对会报错,顺序如下:

<!-- (properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?) -->

properties标签

这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。例如JDBC驱动配置:

<properties resource="jdbc.properties"/>

typeAliases标签

以包为单位的形式,将该包下所有类型设置默认的类型别名,别名为类名,且不在区分大小写

<typeAliases><package name="com.qcby.mybatis"/>
</typeAliases>

这里我就将com.qcby.mybatis这个包下面的的所有类文件都设置了类别名,这样在写Mapper映射文件鹅时候我们就可以将参数或者是返回值类型不再写成全名,而是别名,就像下面一样:

  • 未设置别名之前:

    在这里插入图片描述

  • 设置别名之后:

    在这里插入图片描述

下面是一些常见的别名书写方式:

别名映射的类型
_bytebyte
_char (since 3.5.10)char
_character (since 3.5.10)char
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
char (since 3.5.10)Character
character (since 3.5.10)Character
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal
bigintegerBigInteger
objectObject
date[]Date[]
decimal[]BigDecimal[]
bigdecimal[]BigDecimal[]
biginteger[]BigInteger[]
object[]Object[]
mapMap
hashmapHashMap
listList
arraylistArrayList
collectionCollection
iteratorIterator

environments标签

  • environment: 配置某个具体的环境
  • 属性: id 表示链接数据库的环境的唯一标识 不能重复

environment标签

environments下的子标签

  • environment: 配置某个具体的环境
  • 属性: id 表示链接数据库的环境的唯一标识 不能重复

transactionManager标签

environments下的子标签

  • transactionManager: 配置数据库事务管理器
  • 属性: type=“JDBC|MANAGED”
    • JDBC:使用JDBC的方式管理事务,事务的提交或回滚需要手动处理
    • MANAGED:使用容器的方式管理事务(例如Spring),此时会自动提交或回滚事务

dataSource标签

  • dataSource: 配置数据源
  • 属性: type=“UNPOOLED|POOLED|JNDI”
    • UNPOOLED:不配置连接池,直接使用数据库连接
    • POOLED:配置数据库连接池,使用数据库连接池管理数据库连接
    • JNDI:配置JNDI服务器,使用上下文的数据库连接池管理数据库连接
<environments default="mysql"><!--environment: 配置某个具体的环境属性: id 表示链接数据库的环境的唯一标识 不能重复--><environment id="mysql"><!--transactionManager: 配置数据库事务管理器属性: type="JDBC|MANAGED"JDBC:使用JDBC的方式管理事务,事务的提交或回滚需要手动处理MANAGED:使用容器的方式管理事务(例如Spring),此时会自动提交或回滚事务--><transactionManager type="JDBC"/><!--dataSource: 配置数据源属性: type="UNPOOLED|POOLED|JNDI"UNPOOLED:不配置连接池,直接使用数据库连接POOLED:配置数据库连接池,使用数据库连接池管理数据库连接JNDI:配置JNDI服务器,使用上下文的数据库连接池管理数据库连接--><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>

mappers标签

  • mappers: 以包为单位引入映射文件
  • 满足两个要求:
    1. Mapper接口所在的包要和映射文件所在的包一致
    2. Mapper接口要和映射文件的名字一致

http://www.mrgr.cn/news/57315.html

相关文章:

  • Linux云计算 |【第五阶段】ARCHITECTURE-DAY4
  • Vlan和Trunk
  • 探秘 ArrayList:源码剖析与扩容策略
  • rk3568创建基于Ubuntu18.04交叉编译遇到的坑
  • Ubuntu20.04安装MySQL 设置root远程登录权限
  • Web前端高级工程师培训:使用 Node.js 构建一个 Web 服务端程序(3)
  • [COCI2015-2016#7] Prosti
  • 正则中的字符集
  • LeetCode 110. 平衡二叉树
  • 滑动窗口与TCP的缓冲区(buff)的关系
  • 四向车西门子PLC1200脉冲控制伺服与总线型控制方式思考
  • 【排序】快排思想以及例子
  • JavaScript 第30章:综合项目
  • “摄像机”跟随及攻击抖动实现
  • Linux基础IO
  • Android Handler(Looper.getMainLooper()),Kotlin
  • priority_queue (优先级队列的使用和模拟实现)
  • K折交叉验证代码实现——详细注释版
  • IPC 信号-Signal Linux环境
  • 栈的顺序存储总览
  • 关于风险系统解读最全最专业文章:一篇文章讲透风险,跨学科搞懂风险游戏规则,风险信任风险主观性客观性风险本质人格特质与风险态度技术风险系统风险社会新产品风险
  • 栈和队列代码
  • ARM/Linux嵌入式面经(五二):华为
  • Spring 设计模式之单例模式
  • C++新基础类型(C++11~C++20)
  • ECharts图表图例11