多环境配置

简介: 当有多个数据源时,需创建多个SqlSessionFactory,每个对应一个数据库。通过SqlSessionFactoryBuilder传入不同环境参数(environment)指定配置,若忽略则使用默认环境。environments中default属性指定默认环境ID,每个environment包含事务管理和数据源配置,环境ID可自定义但必须与默认值匹配。

多个数据源,就创建多个SqlSessionFactory,每个对应一个数据库

为了指定创建哪种环境,只要将它作为可选的参数传递给 SqlSessionFactoryBuilder 即可。可以接受环境配置的两个方法签名是:
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, environment, properties);

如果忽略了环境参数,那么将会加载默认环境,如下所示:
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader, properties);

environments 元素定义了如何配置环境:














几个关键点:
● 默认使用的环境 ID(比如:default="development")。
● 每个 environment 元素定义的环境 ID(比如:id="development")。
● 事务管理器的配置(比如:type="JDBC")。
● 数据源的配置(比如:type="POOLED")。
默认环境和环境 ID 顾名思义。 环境可以随意命名,但务必保证默认的环境 ID 要匹配其中一个环境 ID。

相关文章
|
存储 编解码 监控
G-Code 详解
玩过一段时间3D打印机的朋友,都会接触到G-code文件。所谓G-code文件, 指的是3D模型在进入3D打印机实际打印之前,必须要经过切片器处理而成的一种中间格式文件。
6699 0
|
关系型数据库 MySQL 数据库
项目实战24—xxljob控制台不打印日志
项目实战24—xxljob控制台不打印日志
1022 0
|
iOS开发 MacOS Windows
解决报错 unable to access jarfile apachejmeter.jar 的一些技巧!🔥
解决报错 unable to access jarfile apachejmeter.jar 的一些技巧!🔥
3398 7
|
Java 应用服务中间件 Android开发
IDEA 编译时 报 “常量字符串过长” 解决办法
IDEA 编译时 报 “常量字符串过长” 解决办法
4548 0
|
4月前
|
缓存 JavaScript 网络协议
蓝易云:有没有免费好用的cdn?
在使用这些免费CDN的过程中,还可以配合其他网站优化技术,如图像压缩、代码缩小化和其他最佳实践,以便进一步提升网站的性能和用户体验。总而言之,使用CDN是提高网站速度和改善用户体验一个不可或缺的步骤,免费CDN就算是一个优秀的起点,它帮助你构建了更快、更高效的网络世界。
337 9
|
4月前
|
机器学习/深度学习 缓存 搜索推荐
Java+AI实战:从零构建智能推荐系统(一)
教程来源 https://tmywi.cn/category/jiankang.html 本文详解如何用Java从零构建生产级智能推荐系统SmartRec,覆盖数据采集、特征工程、多路召回、深度排序、重排及A/B测试全链路。聚焦高并发、实时性与可扩展性,助你掌握AI落地核心能力。
|
API 调度 决策智能
全新平台级 ModelScope MCP 实验场重磅上线!
还在为快速验证MCP在对话中的效果而烦恼? 希望更灵活地组合魔搭开源模型API-Inference与Hosted MCP服务?
1026 2
|
机器人 应用服务中间件 API
轻松集成私有化部署Dify文本生成型应用
Dify 是一款开源的大语言模型应用开发平台,融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者能快速搭建生产级生成式 AI 应用。通过阿里云计算巢,用户可以一键部署 Dify 社区版,享受独享的计算和网络资源,并无代码完成钉钉、企业微信等平台的应用集成。本文将详细介绍如何部署 Dify 并将其集成到钉钉群聊机器人和企业微信中,帮助您轻松实现 AI 应用的定义与数据运营,提升工作效率。
6389 65
轻松集成私有化部署Dify文本生成型应用
|
存储 前端开发 JavaScript
React useState 和 useRef 的区别
本文介绍了 React 中 `useState` 和 `useRef` 这两个重要 Hook 的区别和使用场景。`useState` 用于管理状态并在状态变化时重新渲染组件,适用于表单输入、显示/隐藏组件、动态样式等场景。`useRef` 则用于在渲染之间保持可变值而不触发重新渲染,适用于访问 DOM 元素、存储定时器 ID 等场景。文章还提供了具体的代码示例,帮助读者更好地理解和应用这两个 Hook。
857 0
|
Dubbo Java 应用服务中间件
Dubbo+Zookeeper的简单使用---实现RPC远程调用
通过本篇博文,快速了解分布式相关知识并快速上手dubbo+Zookeeper实现RPC的远程调用。
Dubbo+Zookeeper的简单使用---实现RPC远程调用

热门文章

最新文章