当前位置: 首页 > article >正文

解析Mybaits核心配置文件属性

目录

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.kler.cn/a/15273.html

相关文章:

  • js实现导航栏鼠标移入时,下划线跟随鼠标滑动
  • 【AI图像生成网站Golang】项目架构
  • leetcode-44-通配符匹配
  • 初识Linux · 信号处理 · 续
  • jmeter常用配置元件介绍总结之配置元件
  • Linux-何为CentOS
  • 大数据 | 实验二:文档倒排索引算法实现
  • 前苹果设计总监创办,Humane想用AI+AR界面取代手机
  • 【unity项目实战】3DRPG游戏开发05——动画、画质优化和shader的使用
  • 服装店铺装修有哪些窍门?做好这3点,顾客主动上门
  • 必须要知道的hive调优知识(下)
  • 微服务探索:nuoyi
  • ubuntu18.04 配置zlmediakit 支持ffmpeg转码记录
  • 大模型竞争加剧,国内外 AI 监管进一步升级
  • hive udf, tried to access method org.bouncycastle.math.ec.ECPoint$AbstractFp
  • 如何获取到一个app里所使用的所有图标icon等资源文件
  • 妙记多「我的主页」升级,日历聚合任务待办,为你打造个人时间管理系统⏰
  • 4月19日驱动开发
  • 数据类型决定了计算机的计算速度
  • macOS 13.4Beta 3(22F5049e)发布
  • 结构体指针、数组指针和结构体数组指针
  • electron入门 | 手把手带electron项目初始化
  • 数据结构(数组、链表、栈、队列、树)
  • 内网远程控制软件哪个好用
  • Spark on Yarn模式下执行过程
  • 二进制码与格雷码的相互转换原理与Verilog实现