解析Mybaits核心配置文件属性

news2024/10/5 17:22:25

目录

1.environment

2.transactionManager

3.dataSource

4.peoperties

5.mapper


先来看看mybatis核心配置文件代码
 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <properties resource="jdbc.properties"></properties>
    <environments default="mysql">
        <environment id="mysql">
            <!--配置事务的类型,使用本地事务策略-->
            <transactionManager type="JDBC"></transactionManager>
            <!--是否使用连接池 POOLED表示使用链接池,UNPOOLED表示不使用连接池-->
            <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>
    <mappers>
        <mapper resource="CarMapper.xml"></mapper>
    </mappers>
</configuration>

1.environment


一个数据库对应一个environment
<environments default="mysql">表示默认使用的开发环境   
// 一个数据库对应一个SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"));
// 两个数据库对应两个SqlSessionFactory对象,以此类推  
SqlSessionFactory sqlSessionFactory1 = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("mybatis-config.xml"), "dev");


2.transactionManager

<transactionManager type="JDBC"></transactionManager>
表示事务管理器是JDBC,需要手动提交事务
<transactionManager type="MANAGED"></transactionManager>
表示交给容器去管理事务,如果没有容器的支持,当找不到容器管理时,就是没有事务。就是提交一条语句,自动提交一次。

3.dataSource


<dataSource type="UNPOOLED">
UNPOOLED不会使用连接池,每一次都会新建JDBC连接对象。POOLED会使用数据库连接池。
当<dataSource type="POOLED">时,它就具有一些属性(不只这些)

poolMaximumActiveConnections:最大的活动的连接数量。默认值10

poolMaximumIdleConnections:最大的空闲连接数量。默认值5

poolMaximumCheckoutTime:强行回归池的时间。默认值20秒。

poolTimeToWait:当无法获取到空闲连接时,每隔20秒打印一次日志,避免因代码配置有误,导致傻等。(时长是可以配置的)
 

4.peoperties

mybatis连接数据库的信息可以配置到一个单独的属性文件中,通常命名为jdbc.properties
在这个文件中写数据库连接信息

 主配置文件中引用jdbc.properties

5.mapper


mapper标签用来指定SQL映射文件的路径,包含多种指定方式,这里先主要看其中两种:
第一种:resource,从类的根路径下开始加载(常用)

<mappers>
  <mapper resource="CarMapper.xml"/>
</mappers>
第二种:url,从指定的url位置加载

<mappers>
  <mapper url="file:///d:/CarMapper.xml"/>
</mappers>

当然还有许多种配置方式,包括包扫描的方式,这个放到后期文章中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

02- stable diffusion的基本使用

stable diffusion的基本使用 对应视频 https://www.bilibili.com/video/BV1Q14y1f7XJ/https://www.bilibili.com/video/BV1av4y1E74C/ 一、下载 1.1 官方github&#xff1a; 官方github&#xff1a; GitHub - Stability-AI/stablediffusion: High-Resolution Image Synth…

Linux进程命令

目录 前言 基本命令 PS命令 语法 字段解释 栗子 top命令 语法 参数解释 栗子 kill命令 语法 参数解释 栗子 前言 进程是正在执行的一个程序或命令&#xff0c;每一个进程都是一个运行的实体&#xff0c;都有自己的地 址空间&#xff0c;并占用一定的系统资源。 基本命…

滑动奇异频谱分析:数据驱动的非平稳信号分解工具(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

线程池四种拒绝机制 实现 及执行日志

目录 目录 目录 创建线程池 测试代码 运行线程 全量代码 日志 AbortPolicy 报出异常模式 DiscardPolicy 放弃机制啥也不处理 DiscardOldestPolicy 放弃机制&#xff0c;放弃列队最早进入的 CallerRunsPolicy 交给主线程执行 创建线程池 public static ExecutorServi…

这篇文带你从入门级开始学习网络安全—认识网络安全

随着网络安全被列为国家安全战略的一部分&#xff0c;这个曾经细分的领域发展提速了不少&#xff0c;除了一些传统安全厂商以外&#xff0c;一些互联网大厂也都纷纷加码了在这一块的投入&#xff0c;随之而来的吸引了越来越多的新鲜血液不断涌入。不同于Java、C/C等后端开发岗位…

【Vue】Vue 前端设计模式梳理

文章目录 一、什么是设计模式&#xff1f;二、设计几个原则三、常见的设计模式及实际案例【1】单例模式1. 什么是单例模式&#xff1f;2.Vue中的单例模式 【2】工厂模式1. 什么是工厂模式&#xff1f;2.Vue中的工厂模式 【3】策略模式1. 什么是策略模式&#xff1f;2.策略模式的…

2023年6月CDGP数据治理专家认证报名及费用

目前6月DAMA-CDGP数据治理认证考试开放报名地区有&#xff1a;北京、上海、广州、深圳、长沙、呼和浩特。 目前南京、济南、西安、杭州等地区还在接近开考人数中&#xff0c;打算参加6月考试的朋友们可以抓紧时间报名啦&#xff01;&#xff01;&#xff01; DAMA认证为数据管…

密码基础知识(3)---对称密码体制

目录 一、对称密码概念 二、别名 三、对称密码体制的优缺点&#xff1a; 1、对称密码体制的缺点&#xff1a; 2、对称密码体制的优点&#xff1a; 四、对称密码的分类 1、序列密码 2、分组密码 五、分组密码的分组模式 1、ECB模式:Electronic CodeBook mode(电子密码…

Node【Node.js 20】新特性

文章目录 &#x1f31f;前言&#x1f31f;Node.js 20: 一次重要的升级和改进&#x1f31f;Internationalization API Update&#x1f31f;端口管理器&#x1f31f;字符串处理&#x1f31f; 更好的调试工具&#x1f31f; Crypto模块的更新&#x1f31f;总结&#x1f31f;写在最后…

【unity项目实战】3DRPG游戏开发05——动画、画质优化和shader的使用

摄像机跟随 摄像机跟随人物的方法有很多,其他方法可以看完另一篇文章 unity控制摄像机跟随玩家三种办法 添加虚拟相机 设置宽容度,相机跟随就会有一个缓慢的跟随效果 设置相机高度,也可以ctrl+shift+f修改相机位置 希望看的是人物的中心,可以在人物内新建一个空子节点…

【算法与数据结构】6 学会对算法进行性能测试

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于算法与数据结构体系专栏,本专栏对于0基础者极为友好,欢迎与我一起完成算法与数据结构的从0到1的跨越 算法性能测试 一、前情回顾二、算法性能测试1.生成测试用例2.使用测…

“递归三要素”寻踪(浅析递归“精典”框架,领略递归优雅秀气;看到有“递归算法优化”的操作,余试剖之)

浅析递归“精典”框架&#xff0c;领略递归优雅秀气。看到有“递归算法优化”的操作&#xff0c;余试剖之。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是…

界面交互篇:个人中心页布局样式与逻辑交互开发

微信小程序云开发实战系列-答题积分赛小程序 界面交互篇:个人中心页布局样式与逻辑交互开发 个人中心页效果图 个人中心布局与样式实现 页头布局 在my.wxml中,编写布局代码:

电视盒子什么牌子好?内行力荐五大目前最强的电视盒子

电视盒子什么牌子好是很多人在挑选电视盒子时会纠结的问题&#xff0c;因工作原因我每天都会接触到各种电视盒子&#xff0c;进行拆机维修。这几年发布过很多电视盒子的测评内容&#xff0c;今天我将要分享的是目前最强的电视盒子&#xff0c;对配置有要求的朋友们可以收藏起来…

Ahut周赛1

1.还原AhutOj 如图&#xff0c;位置1和2的最大值是3&#xff0c;位置1可以直接放3&#xff0c;同理&#xff0c;位置5可以直接放5 位置1和位置2的最大值是3&#xff0c;位置2和位置3的最大值是4&#xff0c;位置3和位置4的最大值是4&#xff0c;所以位置2只能取3和4的最小值&am…

学顶教育:注安工程师不同级别考试形式也不同?

注册安全工程师分为三个等级&#xff0c;即&#xff1a;初级&#xff08;助理&#xff09;、中级、高级。 其中&#xff0c;中级安全工程师报考者无需先参加初级考试&#xff0c;只要符合中级安全工程师要求即可直接报考。 不符合中级安全工程师注册条件且满足初级申请条件的&…

向量基础个人思维训练_纹理采样边缘做旧效果的推导

之前光照demo的玻璃盒子边缘感觉太锐利了&#xff0c;于是想看看能不能让面的边缘逐渐变黑&#xff0c;这样应该会更接近于真实的拼接效果。 首先&#xff0c;玻璃盒子每个面的纹理采样坐标设定如下&#xff1a; 已知采样坐标范围是(0,0)~(1,1)这个矩形范围&#xff0c…

【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 代理模式&#xff08;Proxy Pattern&#xff09;是一种结构型设计模式&#xff0c;用一个类来代理另一个类或几个类的功能。 在代理模式中&#xff0c;我们创建具有现有对象的对象&#xff0c;以便向外界提供功能接口。 延迟初始化&#xff08;虚拟代理&#xff09;。如…

Talk预告 | AAAI‘23 Oral 北京大学陈嘉毅:自然条件下基于三维点云的手物联合位姿追踪与重建

本期为TechBeat人工智能社区第488期线上Talk&#xff01; 北京时间4月6日(周四)20:00&#xff0c;北京大学计算机学院博士——陈嘉毅的Talk将准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “自然条件下基于三维点云的手物联合位姿追踪与重建”&#xf…

iOS - 内存管理

一、App 内存分布 二、OC对象的内存管理 iOS 中&#xff0c;使用引用计数来管理 OC 对象的内存&#xff0c;新创建的 OC 对象引用计数默认是1&#xff0c;当引用计数减为0&#xff0c;OC对象就会销毁&#xff0c;释放其占用的内存空间。调用 retain 会让 OC 对象的引用计数 1&…