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

SQL映射文件

演示流程已在上一章给出,详情见 初识MyBatis-CSDN博客

 

1. SQL映射的XML文件

2. mapper元素

3. select元素

        parameterType

        resultType&resultMap

        select小结

4. insert元素

5. update元素

6. delete元素

7. resultMap元素⭐含演示

        association(一对一)

        collection(一对多)

        演示代码

                assciation

实体对象中包含了另一个对象,此时用assciation

<resultMap id="baseResultMap" type="com.zb.entity.Person"><!--如果java属性和数据字段一样, 一样的配置可以不用写--><id column="id" property="id"/><result column="name" property="name"/><result column="password" property="password"/><result column="age" property="age"/><result column="address" property="address"/><result column="dept_id" property="deptId"/><!--映射部门对象中的属性--><association property="dept" javaType="com.zb.entity.Dept"><result column="dept_id" property="id"/><result column="dept_name" property="name"/></association></resultMap>

                collection

实体类中包含了另一个对象的集合,此时用collection

<resultMap id="baseResultMap" type="com.zb.entity.Dept"><id column="dept_id" property="id" /><result column="dept_name" property="name" /><collection property="personList" javaType="com.zb.entity.Person"><result column="id" property="id"/><result column="name" property="name"/><result column="password" property="password"/><result column="age" property="age"/><result column="address" property="address"/><result column="dept_id" property="deptId"/></collection></resultMap>

8. 缓存

        一级缓存(本地缓存)

一级缓存是 SqlSession 级别的缓存,在同一个 SqlSession 中执行的相同 SQL 查询会复用缓存结果。

  • 特点:默认开启,无需配置。
  • 失效场景:SqlSession 关闭或执行增删改操作。

        二级缓存(全局缓存)

二级缓存是 mapper 级别的缓存,跨 SqlSession 共享。二级缓存多用与静态sql查询,静态参数一起使用

    <!--设置二级缓存队列模式为FIFO,存储时长1min,大小512,只读(不许更改)--><cache eviction="FIFO" flushInterval="60000" size="512" readOnly="true"/>

9. 总结

http://www.xdnf.cn/news/15668.html

相关文章:

  • Vue3 业务落地全景:脚手架、权限、国际化、微前端、跨端与低代码 50 条实战心法
  • 闲庭信步使用图像验证平台加速FPGA的开发:第二十二课——图像直方图统计的FPGA实现
  • 【C++】总结—哪些场景下会产生临时变量或者临时对象?
  • k8s:手动创建PV,解决postgis数据库本地永久存储
  • React条件渲染
  • 零信任产品联合宁盾泛终端网络准入,打造随需而变、精准贴合业务的网络安全访问体系
  • Docker 与 GPU 训练
  • OSPF路由协议的协商过程
  • Java全栈面试实录:从电商场景到AIGC的深度技术考察
  • 基于现代R语言【Tidyverse、Tidymodel】的机器学习方法与案例分析
  • Maven私服仓库,发布jar到私服仓库,依赖的版本号如何设置,规范是什么
  • 精通 triton 使用 MLIR 的源码逻辑 - 第002节:再掌握一些 triton 语法 — 通过 02 softmax
  • 生成式引擎优化(GEO)核心解析:下一代搜索技术的演进与落地策略
  • Python包发布与分发全指南:从PyPI到企业私有仓库
  • LiteCloud超轻量级网盘项目基于Spring Boot
  • Solr7升级Solr8全攻略:从Core重命名到IK分词兼容,零业务中断实战指南
  • css样式中的选择器和盒子模型
  • 《汇编语言:基于X86处理器》第8章 高级过程(2)
  • QT跨平台应用程序开发框架(10)—— Qt窗口
  • PyCharm 高效入门指南(引言 + 核心模块详解)
  • C++拷贝构造
  • 【数据结构】栈和队列
  • 李宏毅《生成式人工智能导论》 | 第15讲-第18讲:生成的策略-影像有关的生成式AI
  • 【读论文】AgentOrchestra 解读:LLM 智能体学会「团队协作」去解决复杂任务
  • 河南萌新联赛2025第一场-河南工业大学
  • Python--plist文件的读取
  • 【Linux】LVS(Linux virual server)
  • python-字典、集合、序列切片、字符串操作(笔记)
  • 大型语言模型的白日梦循环
  • Git简介与特点:从Linux到分布式版本控制的革命