【Mybatis】全局配置文件properties和settings标签

MyBatis源码--解析mybatis-config.xml 查询数据库操作步骤如下: Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);//初始化configuration reader.close(); SqlSession sqlS... 阅读详情

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下:

configuration 配置

properties 属性

settings 设置

typeAliases 类型别名

typeHandlers 类型处理器

plugins 插件

environments 环境

environment 环境变量

transactionManager 事务管理器

dataSource 数据源

databaseIdProvider 数据库厂商标识

mappers 映射器

properties

这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。

主要作用是读取外面的properties属性文件的!这点外面应该不陌生,前面用过很多次了,将数据库的信息都单独配置在jdbc.properties文件里,这里做一遍看看就行了:

jdbc.properties:

jdbc.user=root

jdbc.password=root

jdbc.driverClass=com.mysql.jdbc.Driver

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mybatisdemo

注意:这个配置了解一下就可以了,因为显然,在项目中是要和spring整合的,数据源是要交个spring管理的,所有肯定不会用这个配置的!

settings

这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。下表描述了设置中各项的意图、默认值等。

设置参数

描述

有效值

默认值

cacheEnabled

全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存。

true | false

true

lazyLoadingEnabled

延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。

true | false

false

aggressiveLazyLoading

当开启时,任何方法的调用都会加载该对象的所有属性。否则,每个属性会按需加载(参考lazyLoadTriggerMethods).

true | false

false (true in ≤3.4.1)

multipleResultSetsEnabled

是否允许单一语句返回多结果集(需要兼容驱动)。

true | false

true

useColumnLabel

使用列标签代替列名。不同的驱动在这方面会有不同的表现, 具体可参考相关驱动文档或通过测试这两种不同的模式来观察所用驱动的结果。

true | false

true

useGeneratedKeys

允许 JDBC 支持自动生成主键,需要驱动兼容。 如果设置为 true 则这个设置强制使用自动生成主键,尽管一些驱动不能兼容但仍可正常工作(比如 Derby)。

true | false

False

autoMappingBehavior

指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示取消自动映射;PARTIAL 只会自动映射没有定义嵌套结果集映射的结果集。 FULL 会自动映射任意复杂的结果集(无论是否嵌套)。

NONE, PARTIAL, FULL

PARTIAL

autoMappingUnknownColumnBehavior

指定发现自动映射目标未知列(或者未知属性类型)的行为。

NONE: 不做任何反应

WARNING: 输出提醒日志 ('org.apache.ibatis.session.AutoMappingUnknownColumnBehavior' 的日志等级必须设置为 WARN)

FAILING: 映射失败 (抛出 SqlSessionException)

NONE, WARNING, FAILING

NONE

defaultExecutorType

配置默认的执行器。SIMPLE 就是普通的执行器;REUSE 执行器会重用预处理语句(prepared statements); BATCH 执行器将重用语句并执行批量更新。

SIMPLE REUSE BATCH

SIMPLE

defaultStatementTimeout

设置超时时间,它决定驱动等待数据库响应的秒数。

任意正整数

Not Set (null)

defaultFetchSize

为驱动的结果集获取数量(fetchSize)设置一个提示值。此参数只可以在查询设置中被覆盖。

任意正整数

Not Set (null)

safeRowBoundsEnabled

允许在嵌套语句中使用分页(RowBounds)。如果允许使用则设置为false。

true | false

False

safeResultHandlerEnabled

允许在嵌套语句中使用分页(ResultHandler)。如果允许使用则设置为false。

true | false

True

mapUnderscoreToCamelCase

是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。

true | false

False

localCacheScope

MyBatis 利用本地缓存机制(Local Cache)防止循环引用(circular references)和加速重复嵌套查询。 默认值为 SESSION,这种情况下会缓存一个会话中执行的所有查询。 若设置值为 STATEMENT,本地会话仅用在语句执行上,对相同 SqlSession 的不同调用将不会共享数据。

SESSION | STATEMENT

SESSION

jdbcTypeForNull

当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。 某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。

JdbcType 常量. 大多都为: NULL, VARCHAR and OTHER

OTHER

lazyLoadTriggerMethods

指定哪个对象的方法触发一次延迟加载。

用逗号分隔的方法列表。

equals,clone,hashCode,toString

defaultScriptingLanguage

指定动态 SQL 生成的默认语言。

一个类型别名或完全限定类名。

org.apache.ibatis.scripting.xmltags.XMLLanguageDriver

defaultEnumTypeHandler

指定 Enum 使用的默认 TypeHandler 。 (从3.4.5开始)

一个类型别名或完全限定类名。

org.apache.ibatis.type.EnumTypeHandler

callSettersOnNulls

指定当结果集中值为 null 的时候是否调用映射对象的 setter(map 对象时为 put)方法,这对于有 Map.keySet() 依赖或 null 值初始化的时候是有用的。注意基本类型(int、boolean等)是不能设置成 null 的。

true | false

false

returnInstanceForEmptyRow

当返回行的所有列都是空时,MyBatis默认返回null。 当开启这个设置时,MyBatis会返回一个空实例。 请注意,它也适用于嵌套的结果集 (i.e. collectioin and association)。(从3.4.2开始)

true | false

false

logPrefix

指定 MyBatis 增加到日志名称的前缀。

任何字符串

Not set

logImpl

指定 MyBatis 所用日志的具体实现,未指定时将自动查找。

SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING

Not set

proxyFactory

指定 Mybatis 创建具有延迟加载能力的对象所用到的代理工具。

CGLIB | JAVASSIST

JAVASSIST (MyBatis 3.3 or above)

vfsImpl

指定VFS的实现

自定义VFS的实现的类全限定名,以逗号分隔。

Not set

useActualParamName

允许使用方法签名中的名称作为语句参数名称。 为了使用该特性,你的工程必须采用Java 8编译,并且加上-parameters选项。(从3.4.1开始)

true | false

true

configurationFactory

指定一个提供Configuration实例的类。 这个被返回的Configuration实例用来加载被反序列化对象的懒加载属性值。 这个类必须包含一个签名方法static Configuration getConfiguration(). (从 3.2.3 版本开始)

类型别名或者全类名.

Not set

一个配置完整的 settings 元素的示例如下:

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="defaultFetchSize" value="100"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

 

默认是false, 所以我只能在sql语句中用别名的方式来建立映射关联,但是这个设置改为true,mybatis就会自动用驼峰命名法自动识别关联,就不用在sql语句里写别名了:regDate---reg_date 

C#程序用Settings读取和保存参数 阅读详情

相关推荐

Java之Mybatis:全局配置文件中的标签

全局配置文件中的标签properties标签Settings标签typeAliases标签typeHandlers标签plugins标签environments标签databaseIdProvider标签mappers标签 Mybatis的全局配置文件的标签有: properties标签     Mybatis可以使用properties来引入外部的propertis配置文件内容,该标签有两个属性:     其中,resou

陈煜杰 1003

Properties.Settings.Default的使用

基本使用 1、定义 在Settings.settings文件中定义配置字段。把作用范围定义为:User则运行时可更改,Applicatiion则运行时不可更改。 2、读取配置值 text1.text = Properties.Settings.Default.FieldName; //FieldName是你定义的字段 3、修改和保存配置 Properties.Settings.Default.FieldName = "server"; Properties.Settings.Defaul...

fangyuan621的专栏 2032

Mybatis-config全局配置文件详解

Mybatis-config全局配置文件详解 dtd约束文件 全局配置文件的约束文件:mybatis-3-config.dtd sql映射文件的约束文件:mybatis-3-mapper.dtd 这两个约束文件存在于mybatis-3.4.1.jar的org.apache.ibatis.builder.xml路径下 1.如何在Eclipse中引入约束文件: ​ (1)将需要引入的dtd文件从myb...

Eileen___的博客 889

C#中使用设置 Properties.Settings.Default

NET Framework 2.0 允许您创建和访问在各应用程序执行会话之间保持的值。这些值称为设置。设置可以表示用户首选项,也可表示应用程序需要使用的宝贵信息。例如,可以创建一系列设置来存储应用程序配色方案的用户首选项。也可以存储指定应用程序所使用数据库的连接字符串。通过设置不但可以保持对于代码外部的应用程序至关重要的信息,而且还可以创建分别存储各用户首选项的配置文件。 Visual Basic 2005 使用 My 命名空间提供了一种显而易见的设置访问机制,而在 Visual C# 2005 中没有类.

fangyuan621的专栏 3500

MyBatis笔记 | 详解MyBatis全局配置文件

目录 一、properties标签 二、settings标签 三、typeAliases标签 四、environments标签 五、databaseIdProvider标签 六、mappers标签 一、properties标签 作用:可以引入外部的资源文件 有两个属性: resource:引入类路径下的资源文件 url:引入网络或者磁盘路径下的资源 对昨天的案例我们进行修改,首...

小白菜的博客 411

c#操作properties,读写配置文件

c#操作properties,读写配置文件,非常方便,几行代码就搞定

MYBATIS03_全局配置文件environments、properties、mapper、typeAlias、settings标签详解

全局配置文件environments、properties、mapper、typeAlias、settings标签详解

所得皆惊喜 525

标准工时精益化管理:理论、方法与技巧

ECRS工时分析软件是一款综合性软件,包含了IE软件、IE改善软件、工业工程软件、作业改善/业务改善软件、动作分析软件、作业分析软件、ECRS分析法、ECRS改善手法、时间测量软件、工时测量软件、标准工时计算软件等功能。理论上,标准工时是指在标准的工作环境下,完成一道加工工序所需要花费的人工时间。不同企业、不同工序需要的辅助作业时间和损耗时间各不相同,因此企业需要灵活运用标准工时公式进行计算。总之,标准工时的制定需要综合考虑多种因素,企业可以灵活运用本文介绍的方法和技巧来优化制定流程。

VIOOVI_ECRS的博客 848

深入浅出Mybatis源码解析——全局配置文件解析(全局配置文件解析加载流程附篇)

前言 首先要说下停更这么久的原因,因为工作上最近有点忙,加上学习债的繁重以至于没有继续更新Mybatis源码解析的文章,所以趁着忙里偷闲,来简单的更新一篇。 在上一篇文章深入浅出Mybatis源码解析——全局配置文件解析加载流程中,我们讲到了全局配置文件的一个加载的过程,既然只是一个加载的流程,那就有解析的流程的啦!因此大家也猜到了,本篇正是讲全局配置文件中的一些解析,在parseConfig...

寒山道杳 309

STGCN+YOLOV8行为分类

使用关节点追踪网络获取关节点数据,以yolo-v8网络为例,获取2D关节点数据。此次实验采用KTH动作识别数据集,包含人步行、慢跑、跑步、拳击、挥手和拍手等动作。

SDADASDAF的博客 3893

RK3566/RK3588 NPU性能实测:用mobilenet模型快速验证你的开发板NPU是否正常工作

本文提供了RK3566/RK3588开发板NPU性能实测指南,通过MobileNet模型快速验证NPU是否正常工作。详细介绍了环境搭建、测试资源获取、编译运行及结果分析的全流程,帮助开发者高效验证神经网络加速器功能,为后续AI应用部署奠定基础。

weixin_28826521的博客 449

Mybatis 全局配置文件详解

全部配置内容 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 />&

m0_53698336的博客 590

从RADIUS服务器到AP:实战搭建一个小型WPA2-Enterprise测试环境(FreeRADIUS + 家用路由器)

本文详细介绍了如何从零搭建WPA2-Enterprise测试环境,使用FreeRADIUS服务器和家用路由器实现企业级WiFi认证。通过实战指南,包括证书生成、EAP-PEAP配置、OpenWrt路由器设置及故障排查,帮助网络工程师和爱好者掌握802.1X协议栈的实际应用。

weixin_28715953的博客 326

Mybatis 实践篇(二)Mybatis全局配置文件详解

本篇将使用一个最简单的查询来介绍 Mybatis 的全局配置文件,数据库表如下: CREATE TABLE IF NOT EXISTS `vd_mall`.`users` ( `id` INT NOT NULL AUTO_INCREMENT, `username` VARCHAR(45) NOT NULL COMMENT '用户名', `...

西门吹雪花 369

PHM 2010数据集解读

PHM数据挑战赛是一项面向所有潜在与会者的竞赛。今年的挑战集中在使用测力仪、加速度计和声发射数据估计高速数控铣床刀具的RUL上。 博客对PHM 2010数据集的组成和信号进行了可视化。

cnjs1994的博客 7649

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

985小水博的摸鱼日常 464

mybatis的各个标签详解

本文参考mybatis官方文档,做出大致解析 mybatis的git地址:https://github.com/mybatis/mybatis-3 官方文档url:https://mybatis.org/mybatis-3/ mybatis框架是什么?有什么优点? mybaties==》也叫Ibaties 它是一个开源,持久化,轻量级的框架 JDBC – SQL夹在Ja...

计算机源码之家的博客 2211

手把手教你学Simulink--基于Simulink的高速公路自动驾驶场景仿真建模

特点车道保持:自动调整车辆方向以保持在车道中央。自适应巡航控制(ACC):根据前方车辆的速度自动调节车速。换道辅助:安全地变换车道以超过慢速行驶的车辆或准备驶离高速公路。紧急制动:检测潜在碰撞并采取措施避免事故。挑战安全性:确保所有功能在各种条件下都能可靠运行。实时性:处理大量传感器数据,并迅速做出反应。复杂性:集成多个子系统,包括感知、规划与控制。首先明确要模拟的任务内容。车辆需保持在车道内行驶。根据交通情况自动调整速度。安全地执行换道操作。在必要时实施紧急制动。

MHD0815的博客 248

全局配置文件

全局配置文件的父标签为configuration,该标签的直接子标签有settings、typeAliases、environment、properties、mapper settings子标签: 该标签用于改变 MyBatis 的运行时行为常用的设置项有以下几个: 参数项 描述 有效值 默认值 cacheEnabled 是否开启缓存的全局开关 true | fal

宇宙奇怪理论的博客 1297

【大模型应用开发-FastAPI框架】(八)Sqlalchemy+postgresql简单增删改查

语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。因此,SQLAlchemy采用了类似于。社区中成为广泛使用的ORM工具之一,不亚于Django的ORM框架。和declarative等可选插件可以让用户使用声明语法。SQLAlchemy首次发行于2006年2月,并迅速地在。SQLAlchemy“采用简单的。二、安装postgresql。一、SQLAlchemy简介。的数据映射模型,而不是其他。

2098

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Mybatis学习(三):Mybatis的全局配置文件及用法

写在前边: 今天给大家讲解Mybatis中的全局配置文件的相关用法及配置! 公众号:小白编码 目录Mybatis全局配置文件properties标签settings标签驼峰命名开启typeAliases别名处理器environments标签databaseIdProvide标签mappers标签映射注册同一个包的概念: Mybatis全局配置文件 配置文件配置项顺序: properties→settings→typeAliases→typeHandlers→objectFactory→objectWra.

CodeWhite 1494

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

mybatis mysql 配置文件路径_Mybatis全局配置文件详解(三)

每个基于Mybatis应用都是以一个SqlSessionFactory实例为中心。SqlSessionFactory实例可以由SqlSessionFactoryBuild获得,而SqlSessionFactoryBuild可以以一个xml配置文件(Configuration.xml)构建出SqlSessionFactory实例。Configuration.xml:/p>PUBLIC "-//...

weixin_39817215的博客 588

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Mybatis 全局配置文件 (标签详解)

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"> (二):c

weixin_47371330的博客 673

Mybatis框架--全局配置文件中的标签讲解

全局配置文件中的标签 在Myabatis框架中的全局配置文件mybatis-config.xml是十分重要的,里面也有许多标签来配置和部署来实现不同的功能,今天我们就来分享一下,全局配置文件中的几个重要的标签 1.properties 标签 mybatis使用 properties 来引入mybatis使用properties配置文件,里面有两个信息 resouce:引入类路景观 url:引入磁盘...

weixin_42262357的博客 583

Mybatis全局配置文件配置信息

一、Mybatis全局配置文件配置信息 配置名称 配置含义 配置简介 configuration 包裹所有配置标签 整个配置文件的顶级标签 properties 属性 该标签可以引入外部配置的属性,也可以自己配置。该配置标签所在的同一个配置文件中的其他配置均可以引用次配置中的属性。 setting 全局配置参数 用来配置...

hq的博客 629
上一篇: GPT-4o大模型分析文档和识图理解能力使用体验-最新AI系统ChatGPT源码
下一篇: 使用宝塔快速反代openai官方的API接口+502 Bad Gateway问题解决
synchronizeOn
博客等级 码龄3年 1193粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值