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

004 mybatis基础应用之全局配置文件

文章目录

    • 配置内容
      • properties标签
      • typeAlias标签
      • mappers标签

配置内容

SqlMapConfig.xml中配置的内容和顺序如下:

properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)–Java类型–JDBC类型—>数据库类型转换
objectFactory(对象工厂)
plugins(插件)–可以在Mybatis执行SQL语句的流程中,横叉一脚去实现一些功能增强,比如PageHelper分页插件,就是第三方实现的一个插件
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)

properties标签

SqlMapConfig.xml可以引用java属性文件中的配置信息。
1、在classpath下定义db.properties文件,

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

2、在SqlMapConfig.xml文件中,引用db.properties中的属性,具体如下:

<properties resource="db.properties"/><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>

properties标签除了可以使用resource属性,引用properties文件中的属性。还可以在properties标签内定义property子标签来定义属性和属性值,具体如下:

<properties><property name="driver" value="com.mysql.jdbc.Driver"/>
</properties>

注意: MyBatis 将按照下面的顺序来加载属性:
读取properties 元素体内定义的属性。
读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。

typeAlias标签

别名的作用:就是为了简化映射文件中parameterType和ResultType中的POJO类型名称编写。
默认支持别名
别名 映射的类型

_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal
mapMap

自定义别名
在SqlMapConfig.xml中进行如下配置:

<typeAliases><!-- 单个别名定义 --><typeAlias alias="user" type="com.xd.mybatis.po.User"/><!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) --><package name="com.xd.mybatis.po"/>
</typeAliases>

mappers标签

<mapper resource=“”/>
使用相对于类路径的资源
如:

<mapper resource="sqlmap/User.xml" />

<mapper url=“”>
使用绝对路径加载资源
如:

<mapper url="file://d:/sqlmap/User.xml" />

<mapper class=“”/>
使用mapper接口类路径,加载映射文件。
如:

<mapper class="com.xd.mybatis.mapper.UserMapper"/>

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。
<package name=“”/>
注册指定包下的所有mapper接口,来加载映射文件。
如:

<package name="com.xd.mybatis.mapper"/>

注意:此种方法要求mapper接口名称和mapper映射文件名称相同,且放在同一个目录中。

http://www.lryc.cn/news/527923.html

相关文章:

  • 【岛屿个数——BFS / DFS,“外海”】
  • MySQL常用数据类型和表的操作
  • 2025_1_27 C语言内存,递归,汉诺塔问题
  • 开源音乐管理软件Melody
  • Nginx开发01:基础配置
  • 【TCP 协议】确认应答机制 超时重传 三次握手 四次挥手
  • jenkins-k8s pod方式动态生成slave节点
  • 基于vue和elementui的简易课表
  • 可用的IPv6公共DNS(2025年1月更新)
  • c高级复习
  • 电子信息工程专业主要研究哪一方面东西?
  • RU 19.26安装(手工安装各个补丁)
  • 深入理解Pytest中的Setup和Teardown
  • 如何利用AI工具来进行数据分析
  • 具身智能体俯视全局的导航策略!TopV-Nav: 解锁多模态语言模型在零样本目标导航中的顶视空间推理潜力
  • npm:升级自身时报错:EBADENGINE
  • 微信小程序实现自定义日历功能
  • Vue 3 中的 toRef 与 toRefs:使用与案例解析
  • 问题修复记录:Linux docker 部署 dify,无法调用宿主机本地服务
  • 代码随想录day20
  • 【ProxyBroker】用Python打破网络限制的利器
  • 分布式微服务系统架构第88集:kafka集群
  • RocketMQ原理—5.高可用+高并发+高性能架构
  • 下载Visual Studio Community 2019
  • 一文简单回顾Java中的String、StringBuilder、StringBuffer
  • 27. C语言 强制类型转换详解
  • git困扰的问题
  • 反向代理模块。。
  • 【Linux基础指令】第三期
  • Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman