MyBatis-03-environment

news/发布时间2024/5/5 5:03:40

配置

<environments default="default"><environment id="default"><!-- 事务类型 --><transactionManager type="JDBC"/><!-- 数据源类型 --><dataSource type="POOLED"><!-- 数据库连接基本信息 --><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url"value="jdbc:mysql://127.0.0.1:3306/mybatis_demo01?useUnicode=true&amp;characterEncoding=utf8&amp;connectTimeout=1000&amp;socketTimeout=3000&amp;autoReconnect=true&amp;useSSL=false&amp;serverTimezone=UTC"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment>
</environments>

XMLConfigBuilder#environmentsElement

  1. 只解析和 environments-default 相同的 environment 配置节点
  2. 可以在 XMLConfigBuilder 构造函数传入 environment 覆盖默认的 default
private void environmentsElement(XNode context) throws Exception {if (context == null) {return;}// 构建函数时可写入,默认为 nullif (environment == null) {environment = context.getStringAttribute("default");}for (XNode child : context.getChildren()) {String id = child.getStringAttribute("id");// 只解析和 environment 名称相同的部分,不是全部解析 & 动态切换if (isSpecifiedEnvironment(id)) {TransactionFactory txFactory = transactionManagerElement(child.evalNode("transactionManager"));DataSourceFactory dsFactory = dataSourceElement(child.evalNode("dataSource"));DataSource dataSource = dsFactory.getDataSource();Environment.Builder environmentBuilder = new Environment.Builder(id).transactionFactory(txFactory).dataSource(dataSource);configuration.setEnvironment(environmentBuilder.build());break;}}
}

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

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

相关文章

进阶数据结构

学到哪写到哪说是 既然打ACM可以用板子,我就不用再隔几天敲一遍板子了 只能说赢麻了 线段树 线段树是一种利用二分思想的数据结构,主要用于区间修改以及查询问题。 它的基本思想是可以用一下一个图来表示,其中最底层的是原数组简单来说,对于每个区间的修改或者查询操作,我…

echarts 两个曲线之间填充并且不遮挡的办法

echarts 两个曲线之间填充 可以用两条曲线 ,第一条填充白色 ,然后 第2条填充想要的颜色 ,如下面的代码 option = {title: {text: 堆叠区域图},tooltip : {trigger: axis},legend: {data:[最小值,最大值]},toolbox: {feature: {saveAsImage: {}}},grid: {left: 3%,right: 4%,…

球体与正方体[正六面体]

主要整理球体与正方体[正六面体]的切接问题前言 常用结论:给定一个棱长为 \(a\) 的正方体[即正六面体],则其面对角线长为\(\sqrt{2}a\),其体对角线长为\(\sqrt{3}a\);且正六面体棱长、面对角线、体对角线三者之比为\(1\)\(\;:\;\)\(\sqrt{2}\)\(\;:\;\)\(\sqrt{3}\);设正方…

Python 物联网入门指南(八)

原文:zh.annas-archive.org/md5/4fe4273add75ed738e70f3d05e428b06 译者:飞龙 协议:CC BY-NC-SA 4.0第三十章:制作机械臂 最后,我们终于到达了大多数人自本书开始以来就想要到达的地方。制作一个机械臂!在本章中,我们将学习机械臂工作背后的概念。毫无疑问,我们也将制作…

甘特图使用小诀窍,项目把控游刃有余

在项目管理过程中,掌握甘特图的使用技巧可以让你事半功倍,高效规划和监控项目进度。作为一种视觉化的工具,甘特图直观地展示了任务的开始和结束时间、持续时间以及任务之间的依赖关系,有助于预测和优化资源分配。掌握以下几个小诀窍,你就能驾驭甘特图,游刃有余地把控整个项目。…

实验一 二手交易平台APP原型设计

一、实验题目:原型设计 二、实验目的:掌握产品原型设计方法和相应工具使用。 三、实验要求 1.对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。 墨刀的适用领域及优缺点 适用领域 墨刀是一款在线原型设计与协同工具,借助墨刀,产品经理、…