mybatis 核心配置详解
setting配置
<settings>
<!-- 是否使用二级缓存,默认是关闭 -->
<setting name="cacheEnabled" value="true"/>
<!-- 延迟加载,fetchType会覆盖其属性,association和collection具有这个功能。
po对象中,存在一对多,po对象已经满足需求,而不需要一对多的数据,可以使用懒加载。
当你需要使用一对多的对象的时候,就会再次发出sql请求,返回结果
默认关闭
-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--将积极加载改为消极加载及按需加载 -->
<setting name="aggressiveLazyLoading" value="false"/>
<!-- 单一的sql语句是否可以返回多个结果集 -->
<setting name="multipleResultSetsEnabled" value="true"/>
<!--列标签替换列名 -->
<setting name="useColumnLabel" value="true"/>
<!-- 支持jdbc自动生成主键 -->
<setting name="useGeneratedKeys" value="false"/>
<!-- 自动映射结果集合,默认是自动映射没有映射的结果集 -->
<setting name="autoMappingBehavior" value="PARTIAL"/>
<!-- 自动映射发现未知列的操作,默认是没有操作 -->
<setting name="autoMappingUnknownColumnBehavior" value="WARNING"/>
<!-- 默认的执行器 三种simple一般处理器,reuse处理器重用sql语句,batch批量执行并且会更新 -->
<setting name="defaultExecutorType" value="SIMPLE"/>
<!-- 默认超时时间,,默认就是数据库的超时时间 -->
<setting name="defaultStatementTimeout" value="30"/>
<!-- 返回的结果集合大小 -->
<setting name="defaultFetchSize" value="200"/>
<!-- 允许语句嵌套 分页 -->
<setting name="safeRowBoundsEnabled" value="false"/>
<!-- 驼峰命名映射开启 -->
<setting name="mapUnderscoreToCamelCase" value="false"/>
<!-- 设置sqlsession缓存的数据共享,默认session,设置一级缓存数据共享的范围 -->
<setting name="localCacheScope" value="SESSION"/>
<!-- javaType为空,指定的数据类型 -->
<setting name="jdbcTypeForNull" value="OTHER"/>
<!-- 指定对象延迟加载,通过“,”分割方法名字 -->
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>
核心对象配置
-
properties
引入外部propertie配置文件,后通过el表达式使用即可
-
typeAliases
匿名配置
在mapper中写全限制类名,费手,可通过配置将全限制类名弄个匿名代替
-
typeHandle
自定义只要实现
org.apache.ibatis.type.TypeHandler
接口,或继承org.apache.ibatis.type.BaseTypeHandler
类使用如下: <typeHandler javaType="" handler=""/>
-
plugins
方法拦截,返回特殊的结果集合
-
environments
数据源等环境配置
-
databaseIdProvidor
配置不同的数据厂商使用不同的sql语句
-
mappers
mapper映射文件配置
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥