【mybatis】mapper.xml映射文件

目录

一.概述

二.了解mapper.xml文件

 namespaceidresultType指定映射文件的路径


一.概述

mapper.xml 是一个 MyBatis 的映射文件,用于定义 SQL 语句和结果映射。它是一个 XML 文件,通常放置在项目的资源目录下。

随着mybatis框架的发展,mybatis-plus工具的出现,一些基本的增删改查的sql语句不用在定义,

直接调用相关方法,但是一些复杂的sql语句例如涉及到多表查询的话仍然会使用到mapper文件去定义sql语句,或者使用注解的方式代替mapper.xml文件

二.了解mapper.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.film.mapper.CinemaMapper"><select id="selectAllCinema" resultType="com.film.entity.Cinema">SELECTc.*FROMcinema cLEFT JOIN schedule s ON s.cinema_id = c.idWHEREs.show_date >= DATE( CURRENT_DATE )GROUP BY c.name</select>
</mapper>

 <select>

通过<select>可以知道这是一个查询的sql语句, 而且是联表查询里的左连接操作

查询涉及到 cinema 和 schedule 两个表,交叉点是  s.cinema_id = c.id

条件是s.show_date >= DATE( CURRENT_DATE )

具体分析如下:

  1. SELECT c.*: 这意味着查询cinema表中的所有列。
  2. FROM cinema c: 这是查询的主表,名为cinema,并为其分配了一个别名c
  3. LEFT JOIN schedule s ON s.cinema_id = c.id: 这是一个左连接,意味着将cinema表与schedule表连接在一起。连接的条件是schedule表的cinema_id列与cinema表的id列相等。为schedule表分配了一个别名s
  4. WHERE s.show_date >= DATE( CURRENT_DATE ): 这是一个过滤条件,只选择那些在schedule表中其show_date大于或等于当前日期的行。
  5. GROUP BY c.name: 最后,结果按cinema表的name列进行分组。

这个查询的结果将是一个列表,其中每一行都代表一个电影院的名称,这些电影院在给定的日期有安排。如果某个电影院没有在给定的日期有任何安排,那么它不会出现在结果中。

联表查询参考:

https://blog.csdn.net/m0_67930426/article/details/134321937

namespace

 

com.film.mapper.CinemaMapper

是指mapper包下的CinemaMapper

namespace 属性定义了Mapper接口的全限定名

id

selectAllCinema 对应的是CinemaMapper里的一个方法

resultType

 resultType="com.film.entity.Cinema" 对应相应的实体类

查询语句返回的结果将被映射到 com.film.entity.Cinema 这个 Java 类。

指定映射文件的路径

springboot框架 application文件里的配置路径

或者 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/284225.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot的多环境开发

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…

JupyterHub 如何切换 conda 小环境

JupyterHub 如何切换 conda 小环境 服务器已经部署好 JupyterHub &#xff0c;相关端口请看对应答疑群群公告。在Jupyterhub 中使用 conda 创建的小环境&#xff0c;首先 ssh 登录上服务器或者在 JupyterHub 网页端打开终端 terminal。然后安装 conda &#xff0c;方法请见 Q4&…

Android 一分钟使用RecyclerView完美实现瀑布

【免费】安卓RecyclerView瀑布流效果实现资源-CSDN文库 1.WaterfallFlowActivity 主函数代码&#xff1a; package com.example.mytestapplication;import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.widget.Toast;im…

【亲测好用】DevC++编译出现‘项目没有调试信息,您想打开项目调试选项并重新生成吗’完美解决

DevC不能正常编译 问题描述问题解决 问题描述 问题解决 工具->编译选项 编译器 添加 -g3 在下面命令框 代码生成/优化->链接器->将下面产生调试信息改为Yes 打开调试信息显示&#xff08;工具->环境选项->浏览Debug变量打开&#xff09; 最后一定一定要重新点击…

C语言学习第二十六天(算法的时间复杂度和空间复杂度)

1、算法效率 衡量一个算法的好坏&#xff0c;是从时间和空间两个方面来衡量的&#xff0c;换句话说就是从时间复杂度和空间复杂度来衡量的 这里需要补充一点&#xff1a;时间复杂度是衡量一个算法的运行快慢&#xff0c;空间复杂度是主要衡量一个算法运行所需要的额外空间。 …

Kafka消息延迟和时序性详解(文末送书)

目录 一、概括1.1 介绍 Kafka 消息延迟和时序性1.1.1 什么是 Kafka 消息延迟&#xff1f;1.1.2 为什么消息延迟很重要&#xff1f;1.1.3 什么是 Kafka 消息时序性&#xff1f;1.1.4 消息延迟和时序性的关系 1.2 延迟的来源1.2.1 Kafka 内部延迟 二、衡量和监控消息延迟2.1 延迟…

15.VLAN

VLAN 虚拟局域网 路由器可以隔离广播&#xff0c;但是二层设备交换机就不行了 划分VLAN缩小安全范围 例如发送ARP报文的时候&#xff0c;就只会发送给同一VLAN的设备&#xff0c;而不是整个网络中的所有设备 同一VLAN的用户可以互访&#xff0c;不同VLAN的用户默认是不能互…

安全芯片是什么?为什么可以应用在加密卡上?

安全芯片是指芯片内带有微处理器CPU、随机数发生器、硬件密码算法、存储单元&#xff08;包括随机存储器RAM、程序存储器ROM&#xff08;FLASH&#xff09;、用户数据存储器EEPROM&#xff09;以及芯片操作系统COS的智能芯片&#xff0c;相当于一台微型计算机&#xff0c;不仅具…

活动 | Mint Blockchain 将于 2024 年 1 月 10 号启动 MintPass 限时铸造活动

MintPass 是由 Mint Blockchain 官方发行的 Mint 网络和社区的 NFT 通行证&#xff0c;将在 2024 年 1 月份启动限时铸造活动。今天这篇文章会着重向大家介绍即将举办的 MintPass 活动的基础信息。 MintPass 有 2 种类型&#xff1a; 类型 1&#xff1a;Mint Genesis NFT Mint…

如何对大模型进行评估下

如果从实现评估的纬度来分&#xff0c;可以将不同类型的评估分为三类&#xff0c;具体如下所示。更多理论的详细信息可以参见博客《如何对大模型进行评估上》。接下来就从第一种类型出发&#xff0c;看看评估脚本是如何实现的。这里分析的源代码是Qwen的评估脚本。 如何使用选择…

字符设备驱动框架的编写

一. 简介 我们在学习裸机或者 STM32 的时候关于驱动的开发就是初始化相应的外设寄存器&#xff0c;在 Linux 驱动开发中&#xff0c;肯定也是要初始化相应的外设寄存器。 只是在 Linux 驱动开发中&#xff0c; 我们需要按照其规定的框架来编写驱动&#xff0c;所以说学 …

Todesk突然高速通道使用已结束

今天使用Todesk直接报出如下错误&#xff1a; 好像对于海外用户需要付费购买海外会员&#xff1f; 大家有没有什么可以替换的远程控制软件的吗&#xff1f;能分享一下吗&#xff1f;