首页 > 其他分享 >MyBatis-03-environment

MyBatis-03-environment

时间:2024-04-16 22:44:05浏览次数:21  
标签:03 environment dataSource context child MyBatis null id

配置

<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;
  }
  // 构建函数时可写入,默认为 null
  if (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;
    }
  }
}

标签:03,environment,dataSource,context,child,MyBatis,null,id
From: https://www.cnblogs.com/chenxingyang/p/18139460

相关文章

  • 【爆款推荐】初中中考阅读理解难题一网打尽!句子结构深度解析+答案揭秘,助你轻松冲刺高
    PDF格式公众号回复关键字:ZKYDT003原文1HowmanychildrendoesSumnerhave?解析Howmanychildren多少孩子,SumnerhaveSumner有,标题问Sumner有几个孩子?文本信息IstoppedbecauseIhadneverseen'ournormal'insuchaplace,"themotherofthreechildr......
  • Parcharm-ModuleNotFoundError: No module named 'request'--解决方案
    问题:在Pycharm中报requestsmodule找不到特别的地方:已经通过“pip3installrequests”的命令安装过requests这个模块,并能顺利运行,但是不能在Pycharm中运行 解决方案如下:1.找到Pycharm中的setting设置,并打开2.找到自己工作的目录下的“PythonInterpreter”-->"+......
  • mybatisplus
    mybatisplus如何实现获取信息通过扫描实体类并通过反射获取实体类信息作为数据库表信息约定:类名、变量名驼峰转下划线作为表名id字段默认为主键常用注解@TableName,@TableId,@TableField@TableField使用场景:成员变量为boolean并且名称为is开头,转化时会去掉is......
  • 洛谷题单指南-数学基础问题-P1403 [AHOI2005] 约数研究
    原题链接:https://www.luogu.com.cn/problem/P1403题意解读:计算1~n每个数的约数个数之和。解题思路:1、数学方法1~n的约数范围也在1~n,要计算每个数的约数个数之和可以从约数出发,比如约数是x,那么在1~n中一共有n/x个数包含x这个约数x从1一直枚举到n,就可以得出每个约数是多少个......
  • 80、SpringBoot3 SpringSecurity Mybatisplus最新版 整合 实现登入权限控制
    1、导入pom依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apac......
  • SpringBoot+MybatisPlus 增删改查学习第三章 (C#转JAVA)
    packagecom.example.demo;importcom.baomidou.mybatisplus.core.conditions.query.QueryWrapper;importcom.example.demo.entity.Person;importcom.example.demo.mapper.PersonMapper;importcom.example.demo.service.PersonService;importorg.junit.jupiter.api.Test;i......
  • mybatis-plus和pageHelper使用
    1、依赖<!--mybatis-plus依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3.1</version></dependency><!--分页插件pag......
  • [转帖]MiSans字库GB18030标准验证情况
    https://zhuanlan.zhihu.com/p/663626158  提供的信息,手机厂商终于见到跨入GB18030-2022实现级别3的进步。 MiSans网站提供两个汉字库下载和使用,MiSansFAQ也告知只要升级去XiaomiHyperOS后,已可完整支持。MiSansL3字体有以下说明:MiSans新增60340字符符合GB180......
  • 招投标03-投标文件—标书拆分、标书编写、标书核对
    ###################################################前面我们说明了招投标的流程和招标文件的关键内容,按照规划内容,本节补齐在投标阶段的内容。01-招投标流程总结详见:https://www.cnblogs.com/hemukg/p/1811211602-招标文件说明在标前准备阶段,招标文件的关键内容:资格审查(门......
  • Mybatis-Plus 使用IPage分页失效问题处理
    问题在mybatis-plus中使用IPage作为分页功能实现,请求发现并没有实现分页功能。部分代码##controller@PostMapping("/getCollege")@ApiOperation("查询学院信息")publicCommonResult<IPage<ZgdCollegeVo>>getCollege(@RequestBodyZgdCollegeBozgdColle......