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

【2023.11.26】Mybatis自定义映射规则学习

创建自定义映射规则

<select id="selectArtist" resultMap="test">select * from artist
</select>

在SQL语句标签中将resultType修改为resultMap,即自定义映射的id。

编写自定义映射规则:

<resultMap id="test" type="com.test.artist">
<result column="aID" property="aID_java"/>
</resultMap>

resultMap标签:id用以连接select标签,type代替了select标签中的resultType属性。

result标签:column代表数据库中的字段名,property代表赋值给的实体类成员变量名。


实现多表查询

1.一对多查询:

@Data
public class Teacher {int tid;String name;List<Student> studentList;
}
<select id="getTeacherByTid" resultMap="asTeacher">
select *, teacher.name as tname from student 
inner join teach on student.sid = teach.sid
inner join teacher on teach.tid = teacher.tid where teach.tid = #{tid}
</select><resultMap id="asTeacher" type="Teacher"><id column="tid" property="tid"/><result column="tname" property="name"/><collection property="studentList" ofType="Student"><id property="sid" column="sid"/><result column="name" property="name"/><result column="sex" property="sex"/></collection>
</resultMap>

result.id:表示自定义映射的唯一标识,不能重复。

collection标签:property表示集合的成员变量名称,ofType表示集合数据泛型(为一个类)。

在collection标签中继续写子查询结果列表。

2.多对一查询:

<resultMap id="test2" type="Student"><id column="sid" property="sid"/><result column="name" property="name"/><result column="sex" property="sex"/><association property="teacher" javaType="Teacher"><id column="tid" property="tid"/><result column="tname" property="name"/></association>
</resultMap>
<select id="selectStudent" resultMap="test2">select *, teacher.name as tname from student left join teach on student.sid = teach.sidleft join teacher on teach.tid = teacher.tid
</select>

association标签:property表示实体类的成员变量名称,ofType表示变量类型(为一个类)。

在association标签中继续写子查询结果列表。

相关文章:

【2023.11.26】Mybatis自定义映射规则学习

创建自定义映射规则 <select id"selectArtist" resultMap"test">select * from artist </select> 在SQL语句标签中将resultType修改为resultMap&#xff0c;即自定义映射的id。 编写自定义映射规则&#xff1a; <resultMap id"tes…...

Nginx(九) aio sendfile directio 组合使用测试(2)

测试7&#xff1a;开启directio2m、sendfile&#xff0c;关闭aio&#xff0c;请求/vendor.js {"time_iso8601":"2023-11-26T22:47:3508:00","request_uri":"/vendor.js","status":"200","bytes_sent":…...

使用ETLCloud实现CDC实时数据集成:从MySQL到ClickHouse的实时数据同步

背景 在上一篇文章中体验了 ETLCloud 的离线数据迁移功能&#xff0c;就像大数据领域里有离线计算和实时计算&#xff0c; ETLCloud 还提供了基于 CDC &#xff08;Change Data Capture&#xff09;的实时数据集成功能&#xff1a;实时数据集成是指通过变化数据捕获技术&#…...

【云平台】STM32微信小程序阿里云平台学习板

【云平台】STM32微信小程序阿里云平台学习板 文章目录 前言一、立创EDA&#xff08;硬件设计&#xff09;1.主控STM32F103C8T62.ESP8266模块3.温湿度模块4.光照强度模块5.OLED显示模块6.PCB正面7.PCB反面8.3D视角正面9.3D视角反面 二、【云平台】STM32微信小程序阿里云平台学习…...

【研究中2】sql server权限用户设置

--更新时间2023.11.26 21&#xff1a;30 负责人&#xff1a;jerrysuse DBAliCMSIF EXISTS (select * from sysobjects where namehkcms_admin)--判断是否存在此表DROP TABLE hkcms_adminCREATE TABLE hkcms_admin (id int identity(1, 1),--id int primary key identity…...

从零开始学习管道:管道程序的优化和文件描述符继承问题

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容管道后续的完善&#xff0c;以及解决管道继承多个文件描…...

【JavaWeb】HTMLCSSJavaScript

HTML&CSS&JavaScript 文章目录 HTML&CSS&JavaScript一、开发工具及在线帮助文档二、 HTML2.1 HTML&CSS&JavaScript的作用2.2 HTML基础结构2.3 HTML概念词汇解释2.4 HTML的语法规则2.5 常用标签 三、CSS3.1 引入方式3.2 CSS选择器3.3 CSS浮动3.4 CSS定位…...

如何在没有备份的情况下恢复 iPhone 上已删除的短信

要在没有备份的情况下恢复 iPhone 上已删除的消息&#xff0c;您可以从“消息”应用程序恢复它们或使用第三方数据恢复工具。 虽然我们的 iPhone 可以做很多事情&#xff0c;但我在设备上最常做的事情之一就是文本。无论我是与朋友或家人联系&#xff0c;还是分享重要信息&…...

tomcat-pass-getshell 弱口令 漏洞复现

tomcat-pass-getshell 弱口令 漏洞复现 名称: tomcat-pass-getshell 弱口令 描述: Tomcat是Apache 软件基金会&#xff08;Apache Software Foundation&#xff09;的Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun 和其他一些公司及个人共同开发而成。 通过弱口令登…...

利用 LD_PRELOAD 环境变量

文章目录 原理LD_PRELOAD介绍如何上传.so文件 例题 [虎符CTF 2022]ezphp 原理 LD_PRELOAD介绍 LD_PRELOAD是Linux系统的一个环境变量&#xff0c;它可以影响程序的运行时的链接&#xff08;Runtime linker&#xff09;&#xff0c;它允许你定义在程序运行前优先加载的动态链接…...

黑马点评-Feed流的实现方案,基于推拉结合模式实现笔记推送

Feed流实现方案 我们关注了博主之后,当用户发布了动态后我们应该把这些数据推送给粉丝,关注推送也叫作Feed(投喂)流,通过无限下拉刷新获取新的信息 传统的模式内容检索: 粉丝需要主动通过搜索引擎或者是其他方式去查找想看的内容新型Feed流的效果: 系统分析用户到底想看什么,…...

Re53:读论文 How Can We Know What Language Models Know?

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;How Can We Know What Language Models Know? ArXiv网址&#xff1a;https://arxiv.org/abs/1911.12543 官方GitHub项目&#xff08;prompt之类的都有&#xff09;&#xff1a;https:…...

YARN工作流程详解

图1 图2 图1 -作业提交阶段&#xff1a; 1、client 提交job,向 ResourceManager【RM】 申请job_id; 2、RM 返回 job_id 及资源提交路径 给 client 3、client 把job所需的资源提交 到 3中指定的路径中 4、client 上传完成资源后&#xff0c;向RM 发送执行作业请求&#xff0c;RM…...

力扣373场周赛题解

第一题&#xff1a; 这个题是一个简单题&#xff0c;数据范围也特别小&#xff0c;所以直接使用模拟方式暴力解答。 直接进行行移动的过程&#xff0c;然后检查移动后的结果是否与移动前相同。 代码&#xff1a; ​ public class Solution {// 将指定行循环右移k次pri…...

编程语言发展史:Rust语言的出现和特点

一、Rust语言的出现 Rust语言是一种由Mozilla开发的系统级编程语言&#xff0c;该语言于2010年首次公布&#xff0c;由Graydon Hoare在Mozilla的工作期间开发&#xff0c;最初是为了替代C而设计的。Rust语言的目标是提供一种安全、高效、并发性强的编程语言&#xff0c;同时保…...

Centos Bind安装与排错

1.配置Centos系统静态IP vi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTOstaticIPADDR192.168.1.100NETMASK255.255.255.0GATEWAY192.168.1.1DNS18.8.8.8:wqsudo systemctl restart network.service 2.安装BIND&#xff08;需要服务器连接互联网&#xff0c;如果服务…...

spark中write算子和format算子详解

在spark中&#xff0c;想要往数据库或者某sink路径里面写数据&#xff0c;存到外部存储系统&#xff0c;如文件系统、数据库或数据仓库&#xff0c;经常会用到write算子。 具体来说&#xff0c;write算子通常与DataFrame或Dataset API一起使用&#xff0c;用于将数据写入持久化…...

设计模式—接口隔离原则(ISP)

1.背景 2002 年罗伯特C.马丁给“接口隔离原则”的定义是&#xff1a;客户端不应该被迫依赖于它不使用的方法&#xff08;Clients should not be forced to depend on methods they do not use&#xff09;。该原则还有另外一个定义&#xff1a;一个类对另一个类的依赖应该建立…...

Jenkins用126邮箱发邮件为什么发不出去

1、检查 Jenkins Location中的邮件地址配置与发邮件的地址配置是否一致 Manage Jenkins -》 system 2、检查地址和端口号 3、检查邮箱的登录配置是否正确&#xff08;这个地方的配置方式网上一抓一大把&#xff0c;自己搜一下就好&#xff09; 4、126邮箱发邮件不需要勾选ssl协…...

怎么给数据库某个字段建立一个前缀索引

说明&#xff1a;SQL调优中重要的一个环节是建立索引&#xff0c;其中有一条是字段值过长字段应该建立前缀索引&#xff0c;即根据字段值的前几位建立索引&#xff0c;像数据库中的密码字段、UUID字段。 因为其随机性&#xff0c;其实根据前几位就可以锁定某一条记录了。前缀索…...

手搓单片机

“手搓单片机”在电子爱好者的语境里&#xff0c;通常指绕开现成的开发板&#xff0c;自己从零搭建一个“最小系统”。这就像给芯片造一个能呼吸、能思考的“身体”。对于新手&#xff0c;最经典的入门路径是51单片机&#xff08;如 STC89C52&#xff09;。下面这份手搓指南分为…...

GitHub 狂飙 4.7 万 Star!Hermes Agent:会自我进化的 AI 助手

最近开源 AI 圈最炸的项目&#xff0c;非 Hermes Agent 莫属&#xff01; Hermes Agent从2026 年 2 月底正式开源&#xff0c;短短 2 个月内 GitHub 星标突破 4.7 万 &#xff0c;直接登顶 GitHub Trending 全站第一&#xff0c;成为 2026 年增长最快、最受开发者追捧的 AI Ag…...

线性规划实战指南:从基础理论到优化应用

1. 线性规划基础&#xff1a;从菜市场砍价到数学建模 第一次听说线性规划时&#xff0c;我正蹲在菜市场跟大妈讨价还价。大妈说&#xff1a;"西红柿3块一斤&#xff0c;买5斤送半斤"&#xff0c;我脑子里瞬间闪过一道光——这不就是典型的线性约束条件吗&#xff1f;…...

AScript动态脚本语言:3大实战场景深度解析与iOS热更新解决方案

AScript动态脚本语言&#xff1a;3大实战场景深度解析与iOS热更新解决方案 【免费下载链接】ascript 用as3写的脚本解释器&#xff0c;语法类似as3 项目地址: https://gitcode.com/gh_mirrors/as/ascript 想要在不重新提交App Store的情况下动态更新iOS应用逻辑&#xf…...

告别重复劳作:基于ModelEngine Nexent与MCP构建通用数据可视化AI智能体

在数据驱动的时代&#xff0c;业务人员和分析师常常被困在重复的数据处理循环中&#xff1a;从数据库导出数据、用Excel或Python清洗、再选择合适的图表进行可视化。这个过程不仅耗时耗力&#xff0c;而且难以快速响应瞬息万变的业务需求。 现在&#xff0c;有一种更智能的解决…...

SAP ABAP长文本读取性能瓶颈诊断与批量优化实战:从READ_TEXT到READ_TEXT_TABLE

1. 当SAP报表遇上长文本&#xff1a;性能噩梦的开始 相信每个ABAP开发者都遇到过这样的场景&#xff1a;一个原本运行良好的物料报表&#xff0c;突然因为增加了长文本显示需求而变得奇慢无比。我去年就接手过这样一个项目&#xff0c;用户抱怨说点击报表后可以去泡杯咖啡&…...

在Windows 10/11上部署ArcGIS 10.2开发环境:ArcEngine SDK for .NET配置详解

在Windows 10/11上构建ArcGIS 10.2开发环境&#xff1a;从零开始打造GIS应用 当你第一次尝试在Visual Studio中调用ArcEngine的类库时&#xff0c;是否遇到过令人抓狂的"未找到引用"错误&#xff1f;或是明明按照教程一步步操作&#xff0c;却在运行时遭遇神秘的许可…...

探秘书匠策AI:毕业论文“通关秘籍”大揭秘

在学术的漫漫征途中&#xff0c;毕业论文宛如一座巍峨的高峰&#xff0c;横亘在众多学子面前。它不仅是对多年学习成果的全面检验&#xff0c;更是开启未来学术或职业大门的关键钥匙。然而&#xff0c;毕业论文的撰写过程充满了挑战&#xff0c;从选题时的迷茫&#xff0c;到资…...

Vivado2020.2与Modelsim2020.4联合仿真实战:从安装到避坑指南

1. 环境准备与安装避坑指南 刚接触FPGA开发的朋友们&#xff0c;肯定对Vivado和Modelsim这对黄金搭档不陌生。但说实话&#xff0c;我第一次用Vivado2020.2和Modelsim2020.4做联合仿真时&#xff0c;差点被各种坑给劝退。今天我就把踩过的坑和解决方案都整理出来&#xff0c;让…...

BilibiliDown终极指南:如何简单快速批量下载B站高清视频

BilibiliDown终极指南&#xff1a;如何简单快速批量下载B站高清视频 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors…...