系列四、全局配置文件mybatis-config.xml

一、全局配置文件中的属性

mybatis全局配置中的文件非常多,主要有如下几个: 

  • properties(属性)
  • settings(全局配置参数)
  • typeAliases(类型别名)
  • typeHandlers(类型处理器)
  • objectFactory(对象工厂)
  • plugins(插件)
  • environments(环境集合属性对象)
  • environment(环境集合属性子对象)
  • transactionManager(事务管理器)
  • dataSource(数据源)
  • mappers(映射器)

1.1、properties

properties可以用来引入一个外部配置,最常见的例子就是引入数据库的基本配置信息,例如在resources目录新建了一个db.properties文件,内容如下:

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
db.username=root
db.password=123456

mybatis-config可配置为如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 引入外部的配置文件 --><properties resource="db.properties"></properties><environments default="deployment"><environment id="deployment"><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><!--# yml中的写法,xml中要把&转换为 &amp;driver: jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT--><!--<property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/20231101_mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF8&amp;serverTimezone=GMT"/><property name="username" value="root"/><property name="password" value="123456"/>--><!-- 读取外部配置文件中的信息进行注入 --><property name="driver" value="${db.driver}"/><property name="url" value="${db.url}"/><property name="username" value="${db.username}"/><property name="password" value="${db.password}"/></dataSource></environment></environments><!--配置mapper的位置注意事项:如果xxxMapper.xml是在resources目录配置的,那么需要创建和src中mapper同名的Directory才行,否则的话就会报"org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)错误"(1)如果xxxMapper.xml文件和xxxMapper在同一个目录,需要配置为package方式,并且修改pom.xml的配置信息(2)如果xxxMapper.xml文件想单独配置在resources目录,如将其放在resources/mappers目录,可以使用mapper的方式--><mappers><!----><package name="org.star.mapper"/><!--<mapper resource="mappers/UserMapper.xml"></mapper>--></mappers></configuration>

1.2、settings

1.3、typeAliases

<typeAliases><!--批量起别名:此处配置的是为 org.star.entity.model 包下的所有持久层类起别名起别名规则:首字母小写,例如UserDO的别名是userDO,这样配置的话在xxxMapper.xml中的返回值就不用写类的完整路径了--><package name="org.star.entity.model"/>
</typeAliases>

1.4、typeHandlers

        八种基本数据类型的增删改查之所以能够处理成功,就是因为有上边的各种类型的默认处理器,这些处理器处理基本数据类型够用了,但是要是处理特殊类型就需要我们自定义类型处理器了,比如User有一个爱好字段,类型为 private List<String> interests; 在数据库中对应的类型为varchar,那么这种情况下就需要我们自定义类型处理器了,这个自定义的类型处理器需要满足如下功能:

(1)数据存储时,自动地将List集合转换为字符串(格式自定义);

(2)数据查询时,将查询到的字符串在转换为List集合;

1.5、mappers

xxxMapper.xml配置位置的几种写法:

<mappers><!-- 方式一: --><!--<mapper resource="mappers/UserMapper.xml"></mapper>--><!--方式二:使用绝对路径,不推荐--><!--<mapper url="D:\augenstemn@gitee\mybatis-parent\mybatis\src\main\java\org\star\mapper\UserMapper.xml"></mapper>--><!-- 方式三:使用mapper接口路径注意事项:此种方式要求mapper接口和映射文件的名称相同,且放在同一个目录中 --><!--<mapper class="org/star/mapper/UserMapper.xml"></mapper>--><!-- 方式四:注册指定包下的所有mapper接口注意事项:此种方式要求mapper接口和映射文件的名称相同,且放在同一个目录中 实际项目中多采用此种方式,推荐 --><package name="org.star.mapper"/>
</mappers>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/179363.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务上千家企业,矩阵通2.0重磅上线,全链路管理新媒体矩阵

自上线以来 矩阵通已服务了上千家企业级客户 覆盖汽车、家居、媒体、金融、教育等多个行业 矩阵通1.0时代 我们以“数据”为基座打造出10功能 帮助企业轻松管理新媒体矩阵 实现账号管理、数据分析、竞对监测、 人员考核、风险监管等需求 而现在 矩阵通2.0重磅上线 新增…

华纳云:centos系统中怎么查看cpu信息?

在CentOS系统中&#xff0c;我们可以使用一些命令来查看CPU的详细信息。下面介绍几个常用的命令&#xff1a; 1. lscpu lscpu命令可以显示CPU的架构、型号、核心数、线程数、频率等信息。 # lscpu 执行以上命令后&#xff0c;会输出类似以下内容&#xff1a; 2. cat /proc/…

配置OpenCV

Open CV中包含很多图像处理的算法&#xff0c;因此学会正确使用Open CV也是人脸识别研究的一项重要工作。在 VS2017中应用Open CV&#xff0c;需要进行手动配置&#xff0c;下面给出在VS2017中配置Open CV的详细步骤。 1.下载并安装OpenCV3.4.1与VS2017的软件。 2.配置Open CV环…

07、vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。

目录 问题解决&#xff1a; 问题 vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1&#xff0c;因为在此系统上禁止运行脚本。 在使用 VSCode 时&#xff0c;创建 Vue 项目报的错 创建不了 Vue 项目 解决&#xff1a; 因为在此系统上禁止运行该脚本&#xff0…

【排序算法】 计数排序(非比较排序)详解!了解哈希思想!

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; 算法—排序篇 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言&#x1f324;️计数排序的概念☁️什么是计数排序&#xff1f;☁️计数排序思想⭐绝对…

四川天蝶电子商务有限公司:短视频运营怎么样?

短视频是一种以短小精悍的内容来吸引用户的新型媒体形式&#xff0c;近年来在社交网络平台上迅速走红&#xff0c;成为当今互联网世界的新宠。然而&#xff0c;要想成功运营短视频&#xff0c;需要借助一系列的策略和技巧&#xff0c;通过精心的规划和执行&#xff0c;才能够吸…

后端开发基本步骤(未完成继续写中)

1.使用spring initializr创建项目 注意&#xff1a;然后低下提供的依赖可用可不用&#xff0c;先不用&#xff0c;后边Maven统一配置依赖&#xff0c; 2.导入依赖 <!-- web --> <dependency><groupId>org.springframework.boot</groupId><artifa…

使用IO完成端口实现简单回显服务器

说明 使用IO完成端口实现简单回显服务器&#xff0c;因为是测试用的&#xff0c;所以代码很粗糙。 提醒 使用的是ReadFile、WriteFile来实现Overlapped IO&#xff0c;正式场合应该用WSARecv、WSASend&#xff0c;原因&#xff1a;来自《Windows网络编程技术》 8.2.5节 在这里…

使用Docker搭建一个“一主两从”的 Redis 集群(超详细步骤)

目录 1、Redis 单机版安装1.1 拉取 Redis1.2 创建数据卷目录1.3 修改 redis.conf1.4 启动 Redis 容器1.5 进入容器连接 Redis 2、Redis 一主两从集群搭建2.1 复制三份 redis.conf2.2 启动 master2.3 启动 两个redis slave2.4 三者关系查看2.5 数据测试 1、Redis 单机版安装 1.…

uniapp生命周期

uniapp生命周期包括应用生命周期、页面生命周期和组件生命周期&#xff1b; 1、应用生命周期 app.vue/uvue是uni-app的朱组件。所有页面都是在app.vue下进行切换&#xff0c;是应用入口文件。但app.vue本身不是页面&#xff0c;这里补鞥编写视图元素&#xff0c;也就没有。 这…

Recommender System复习(考试向)

Recommender System Review OverviewCollaborative Filtering基于用户的CF&#xff08;User CF&#xff09;基于物品的CF&#xff08;Item CF&#xff09;Similarity CalculationBias in CF Evaluation of Recommender SystemFactorization MachinesLatent factor modelLFM算法…

Day 5 登录页及路由 (三) 基于axios的API调用

系列文章目录 本系列记录一下通过Abp搭建后端&#xff0c;VueElement UI Plus搭建前端&#xff0c;实现一个小型项目的过程。 Day 1 Vue 页面框架Day 2 Abp框架下&#xff0c;MySQL数据迁移时&#xff0c;添加表和字段注释Day 3 登录页以及路由 (一&#xff09;Day 4 登录页以…

为什么树莓派安装Ubuntu的时候无法通过有线(网线)连网

这个东西从软件角度有很多解释&#xff0c;但是我这里遇到的情况是&#xff1a; 因为一个标注2A但是实际电流虚标的充电头浪费了我2天的时间。 也即是说&#xff1a;如果你的树莓派无法通过网线联网&#xff0c;很有可能是因为供电不足。因为一个新的树莓派一般不会有故障&am…

XUbuntu22.04之解决桌面突然放大,屏幕跟着鼠标移动问题(一百九十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

瑞禧生物分享纳米粉体~二硫化钼粉体 MoS2 纯度:99% 纳米二硫化钼(MoS2)

二硫化钼粉体 名称&#xff1a;二硫化钼粉体 纯度&#xff1a;99% 外观&#xff1a;粉末 纳米二硫化钼(MoS2)粉体硫化钼粉体 二硫化铝化学性质稳定、热稳定性好 、摩擦系数低 、润滑作用优 良且在较为苛 刻的工作环境下能保持 良好的摩擦性能因此二硫化铝被广泛应用于固体润…

拓扑排序--C++实现

1. 定义 前置知识 DAG: Directed Acyclic Graph 有向无环图拓扑序&#xff1a; 像先修课程一样&#xff0c;即任意课程的前置课程都在其前面。 举个例子 在这个图中&#xff0c;1234或者1324是拓扑序。而其他的序列不是&#xff0c;即在一个节点出现之前他的所有祖先节点需…

OSPF复习(2)

目录 一、LSA的头部 二、6种类型的LSA&#xff08;课堂演示&#xff09; 1、type1-LSA&#xff1a;----重要且复杂 2、type2-LSA&#xff1a; 3、type3-LSA&#xff1a; 4、type4-LSA&#xff1a; 5、type5-LSA&#xff1a; 6、type7-LSA&#xff1a; 三、OSPF的网络类…

CSS3媒体查询与页面自适应

2017年9月&#xff0c;W3C发布媒体查询(Media Query Level 4)候选推荐标准规范&#xff0c;它扩展了已经发布的媒体查询的功能。该规范用于CSS的media规则&#xff0c;可以为文档设定特定条件的样式&#xff0c;也可以用于HTML、JavaScript等语言。 1、媒体查询基础 媒体查询…

windows docker desktop 更换镜像 加速

最近 docker hub 访问不了; 经过研究 可以通过添加 代理镜像网址 添加代理服务器的方式 实现完美访问 1添加镜像网站 修改成国内镜像地址就能享受到飞一般的速度&#xff0c;但有一个问题&#xff0c;部分站点镜像不全或者镜像比较老&#xff0c;建议使用多个镜像站。 https…

供应商等级:一级、二级和三级供应商之间有什么区别

作为一名专业采购人员&#xff0c;你知道拥有一个可靠且具有成本效益的供应链有多么重要。确保供应链顺利运行的方法之一就是利用供应商分级。 什么是供应商分级&#xff1f; 供应商分级是根据供应商的绩效和对企业的重要性&#xff0c;对其进行分类的做法。 因此&#xff0c…