MyBatis - Configuration(上)

简介: MyBatis - Configuration(上)

一、Configuration 属性讲解(一)

Configuration就像是Mybatis的总管,Mybatis的所有配置信息都存放在这里,此外,它还提供了设置这些配置信息的方法。Configuration可以从配置文件里获取属性值,也可以通过程序直接设置。Configuration里可供配置的属性有:

1、properties 属性

1)配置示例

<properties resource="org/mybatis/example/config.properties"> 
    <property name="username" value="dev_user"/> 
    <property name="password" value="F2Fa3!33TYyg"/> 
</properties>

2)用途

properties里配置的属性将被存放在Configuration的variables变量里,供Mybatis使用。此外在配置文件中,也可以使用这些属性,用来对配置项实现动态配置。比如:

<dataSource type="POOLED"> 
    <property name="driver" value="${driver}"/> 
    <property name="url" value="${url}"/> 
    <property name="username" value="${username}"/> 
    <property name="password" value="${password}"/> 
</dataSource>

3)注意事项

resource里也可指定属性值,并且resource里属性值的优先级高于property子节点里配置的值,也就是说resource的同名属性将会覆盖于property子节点里的值。

2、settings 设置

1)配置示例

<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="enhancementEnabled" value="false"/> 
    <setting name="defaultExecutorType" value="SIMPLE"/> 
    <setting name="defaultStatementTimeout" value="25000"/> 
</settings>

2)用途

setting节点里配置的值会直接改写Configuration对应的变量值,这些变量描述的是Mybatis的全局运行方式,如果对这些属性的含义不熟悉的话建议不要配置,使用默认值即可。下面这个表格描述了各个配置项的含义和默认值:

image.png


3)注意事项

谨慎修改这些配置值。

3、typeAliases 类型命名

1)配置示例

<typeAliases> 
    <typeAlias alias="Author" type="domain.blog.Author"/> 
    <typeAlias alias="Blog" type="domain.blog.Blog"/> 
    <typeAlias alias="Comment" type="domain.blog.Comment"/> 
    <typeAlias alias="Post" type="domain.blog.Post"/> 
    <typeAlias alias="Section" type="domain.blog.Section"/> 
    <typeAlias alias="Tag" type="domain.blog.Tag"/> 
</typeAliases>


2)用途

别名是为Java类型命名一个短的名字。它只用在XML配置文件里,用来减少类完全限定名的多余部分。例如在配置文件里需要使用domain.blog.Author的地方可以简单的使用Author替换。

3)注意事项

Mybatis里有一些默认的别名,不要覆盖这些别名:

1.png


4、typeHandlers 类型处理器

1)配置示例


<typeHandlers> 
    <typeHandler javaType="String" jdbcType="VARCHAR" handler="org.mybatis.example.ExampleTypeHandler"/> 
</typeHandlers>


2)用途

无论是MyBatis在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器被用来将获取的值以合适的方式转换成Java类型。

3)注意事项

Mybatis已经有了若干个类型处理器了,编写自己的类型处理器时勿重新发明轮子。

2.png


5、objectFactory 对象工厂

略(不常用)


目录
相关文章
|
9月前
|
机器学习/深度学习 人工智能 算法
Meta-CoT:通过元链式思考增强大型语言模型的推理能力
大型语言模型(LLMs)在处理复杂推理任务时面临挑战,尤其在高级数学和抽象问题解决方面表现不足。为弥补这一差距,研究人员引入了元链式思考(Meta-CoT),该方法通过引入搜索、验证和回溯机制,使LLMs能够模拟人类的系统2思维,实现迭代和审慎推理。实验证明,Meta-CoT显著提升了LLMs在复杂任务中的表现,推动了AI从模式识别向更深层次的逻辑推理转变。
341 16
Meta-CoT:通过元链式思考增强大型语言模型的推理能力
|
8月前
|
机器学习/深度学习 人工智能 搜索推荐
上百万智能体在OASIS模拟平台上玩推特,AI玩社交媒体和真人有多像?
OASIS是一个模拟平台,利用大型语言模型(LLM)驱动的智能体模拟社交媒体上的行为,研究复杂社会系统现象。它模仿推特和Reddit等平台,支持动态环境、多样行动和推荐系统。通过模拟上百万个智能体,OASIS帮助研究人员大规模分析信息传播和社会互动,但仍面临规模、行为多样性及伦理隐私挑战。论文:https://arxiv.org/abs/2411.11581
308 6
|
8月前
|
数据采集 自然语言处理 DataWorks
阿里云DataWorks接入DeepSeek大模型
2025年2月18日,阿里云DataWorks正式接入DeepSeek-R1(671B)与DeepSeek-R1-Distill-Qwen-32B大模型。此举显著提升平台的数据处理、分析和治理能力,简化数据开发流程,并支持智能数据查询、自动化报告生成等应用场景,推动企业级数据治理智能化进程,助力企业实现数据驱动的创新发展。
520 11
|
8月前
|
JSON API 开发者
淘宝淘口令转换API接口(淘宝API系列)
淘宝淘口令转换API是用于将淘宝商品或店铺链接与淘口令进行双向转换的接口,支持HTTP POST请求。开发者可通过此API生成或解析淘口令,方便在不同平台传播淘宝内容,吸引更多潜在客户。API返回JSON格式数据,包含转换结果和状态信息。使用前需注册并申请权限,确保调用稳定可靠。示例代码展示了如何通过Python实现淘口令的生成和解析功能。
|
8月前
|
存储 算法 测试技术
CodeFuse-AAIS:改进低智能体框架助力高效程序修复
本文提出了一种基于低智能体框架的自适应自动化程序修复(APR)解决方案——AAIS。该方案结合了智能体的自适应性和低智能体的高效控制流,通过引入交互式缺陷定位和多模型辅助生成,显著提升了程序修复的准确性和多样性。实验结果表明,AAIS在SWE-Bench基准测试中表现出色,函数级定位准确率提升了46.94%-113.32%,Issue Solving任务上达到了35.67%的性能,展示了其在未来软件开发中的应用潜力。
200 0
CodeFuse-AAIS:改进低智能体框架助力高效程序修复
|
8月前
|
机器学习/深度学习 人工智能 算法
DeepSeek:掀翻互联网底层的“东方神秘力量” ——当AI大模型成为网络世界的“基建狂魔”
DeepSeek正重构网络底层逻辑,从“哑管道”到“认知神经”,赋予网络思考能力。它通过意图驱动和认知架构,优化带宽资源,提升效率。技术上,MOE+MLA架构与FP8精度训练大幅降低成本,性能超越传统模型。产业链方面,通信巨头转型为“AI驯兽师”,推出智能预测、定制化网络等服务。然而,AI基建也面临安全挑战,如僵尸网络攻击和隐私问题。展望6G,AGI将成新“网络原住民”,带来更智能的服务。这场变革不仅提升了连接效率,还创造了更多价值。
|
10月前
|
搜索推荐 数据建模 网络安全
免费的SSL证书能用吗
免费SSL证书可为网站提供HTTPS加密,保护数据安全,提升用户信任度和搜索引擎排名。主要优点包括数据加密、增强信任和搜索引擎优化,但存在身份验证不完善和有效期短等缺点。申请流程简单,需注册账户、提交申请、验证域名所有权并安装证书。使用时需谨慎选择证书颁发机构,定期更新证书,并注意浏览器兼容性。
|
10月前
|
机器学习/深度学习 传感器 边缘计算
基于深度学习的图像识别技术在自动驾驶中的应用####
随着人工智能技术的飞速发展,深度学习已成为推动自动驾驶技术突破的关键力量之一。本文深入探讨了深度学习算法,特别是卷积神经网络(CNN)在图像识别领域的创新应用,以及这些技术如何被集成到自动驾驶汽车的视觉系统中,实现对复杂道路环境的实时感知与理解,从而提升驾驶的安全性和效率。通过分析当前技术的最前沿进展、面临的挑战及未来趋势,本文旨在为读者提供一个全面而深入的视角,理解深度学习如何塑造自动驾驶的未来。 ####
425 1
|
Ubuntu Linux Shell
Linux系统密码忘记
【10月更文挑战第2天】在Linux系统中,若忘记密码,可以通过单用户模式或使用Live CD/USB来重置。对于Ubuntu系统,可通过GRUB引导菜单进入单用户模式,利用命令行重置密码;或使用Live CD/USB启动并挂载硬盘分区后修改密码文件。CentOS系统同样支持单用户模式重置密码,也可借助安装介质进入救援模式,挂载文件系统后进行密码重置。这些方法均能在忘记密码的情况下帮助恢复系统访问。
517 3
|
传感器 人工智能 语音技术
探索AI技术在智能家居中的应用
【8月更文挑战第78天】本文将探讨人工智能(AI)技术在智能家居领域的应用。我们将从AI技术的基本概念入手,介绍其在智能家居中的作用,并通过代码示例展示如何实现一个简单的智能照明系统。最后,我们将总结AI技术在智能家居领域的优势和挑战。