SSM项目实战-mapper实现

1、SysUserMapper.java

package com.atguigu.schedule.mapper;
import com.atguigu.schedule.pojo.SysUser;
import org.springframework.stereotype.Repository;
@Repository
public interface SysUserMapper {SysUser getSysUser(SysUser sysUser);
}

2、ScheduleMapper.java

package com.atguigu.schedule.mapper;
import com.atguigu.schedule.pojo.Schedule;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface ScheduleMapper {List<Schedule> getScheduleList(Integer sysUserId);
}

3、mapper/SysUserMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace等于mapper接口类的全限定名,这样实现对应 -->
<mapper namespace="com.atguigu.schedule.mapper.SysUserMapper"><select id="getSysUser" resultType="SysUser">select * from sys_user where username = #{username} and userPwd = #{userPwd}</select>
</mapper>

4、mapper/ScheduleMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace等于mapper接口类的全限定名,这样实现对应 -->
<mapper namespace="com.atguigu.schedule.mapper.ScheduleMapper"><select id="getScheduleList" resultType="Schedule">select * from sys_schedule where uid = #{value}</select>
</mapper>

 

在MyBatis中,mapper中的namespace并不是可以随便写的。namespace在MyBatis中起到了唯一标识mapper的作用,它通常与mapper文件的名字相同,并且是全限定名(包含包名)。

在配置文件中定义mapper时,需要指定mapper的namespace,这个namespace应该与mapper文件中的namespace一致。例如,如果mapper文件名为UserMapper.xml,并且位于com.example.mapper包下,那么在配置文件中应该使用如下方式引用该mapper:

<mappers>  <mapper resource="com/example/mapper/UserMapper.xml"/>  
</mappers>

而在UserMapper.xml文件中,应该使用如下方式指定namespace:

<mapper namespace="com.example.mapper.UserMapper">  <!-- 映射语句 -->  
</mapper>

如果namespace与文件名不一致,将会导致无法正确地加载和使用mapper。因此,建议在定义mapper时,将namespace与文件名保持一致,以确保正确性。

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

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

相关文章

拉新地推任务管理分销助手公众号开发

拉新地推任务管理分销助手公众号开发 拉新地推任务管理分销助手公众号开发功能可以帮助企业进行地推任务的管理和分销助手的开发。以下是一些可能的功能介绍&#xff1a; 任务管理&#xff1a;这个功能可以让企业创建、分配和管理地推任务。管理员可以创建地推任务&#xff0c…

【开源视频联动物联网平台】libmodbus 写一个modbus tcp客户端

libmodbus 是一个用于 Modbus 通信协议的 C 语言库&#xff0c;可以用来创建 Modbus TCP 客户端。以下是一个简单的示例代码&#xff0c;演示如何使用 libmodbus 创建一个 Modbus TCP 客户端。 首先&#xff0c;确保你已经安装了 libmodbus 库。你可以从 libmodbus 的官方网站…

Mybatis-Plus实现分页查询

分页插件配置 MybatisPlusConfig import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.spri…

Java流处理之序列化和打印流

文章目录 序列化概述ObjectOutputStream类构造方法序列化操作 ObjectInputStream类构造方法反序列化操作1**反序列化操作2** 案例&#xff1a;序列化集合案例分析案例实现 打印流概述PrintStream类构造方法改变打印流向 序列化 概述 Java 提供了一种对象序列化的机制。用一个…

【【FPGA 之 MicroBlaze定时器中断实验】】

FPGA 之 MicroBlaze定时器中断实验 AXI Timer 具有 AXI 总线接口&#xff0c;能够产生不同时间周期和占空比的时钟、脉冲产生电路、产生与时间有关的中断和用于电机控制的脉宽调制信号。 AXI Timer IP 核提供了一个 AXI4 Lite 接口用于与处理器通信&#xff1b;它内部有两个可…

最小栈[中等]

优质博文&#xff1a;IT-BLOG-CN 一、题目 设计一个支持push&#xff0c;pop&#xff0c;top操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现MinStack类: MinStack()初始化堆栈对象。 void push(int val)将元素val推入堆栈。 void pop()删除堆栈顶部的元素。 in…

引领数据趋势:2023年最值得关注的十大ETL数据集成工具

在这个数据至上的时代&#xff0c;对于以数据为驱动的组织来说&#xff0c;建立一个信息集中的强大源头是成功的关键。众多企业依靠ETL工具来管理和理解它们的数据。 ETL&#xff0c;即提取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;、加载&…

Jenkins持续集成之修改jenkins工作目录

修改jenkins工作目录 一般不建议把工作目录放到默认的C盘&#xff0c;故可以更改到其他盘中 前置条件&#xff1a;先在其他盘中新建工作目录的文件&#xff1b;如下图 1、首先打开任务管理器&#xff0c;找到服务中的Jenkins进程 2、右击点击转到详细信息&#xff1b; 3、再右…

四大视角看EMC设计:滤波、接地、屏蔽、PCB布局

电磁干扰的主要方式是传导干扰、辐射干扰、共阻抗耦合和感应耦合。对这几种途径产生的干扰我们应采用的相应对策&#xff1a;传导采取滤波&#xff0c;辐射干扰采用屏蔽和接地等措施&#xff0c;就能够大大提高产品的抵抗电磁干扰的能力&#xff0c;也可以有效的降低对外界的电…

js模块化的好处

JavaScript模块化是将JavaScript代码分解为独立的模块或文件&#xff0c;每个模块都有自己的作用域和功能。它具有以下几个好处&#xff1a; 代码组织和可维护性&#xff1a;模块化可以帮助开发者更好地组织和管理代码。将代码分解成独立的模块&#xff0c;每个模块负责特定的功…

EPICS motor模块中SoftMotor的使用示例

本实例使用motor模块中软电机&#xff0c;通过通道访问控制另一个直流电源IOC的输出电压&#xff0c;并且回读输出电压。 此处使用的另一个IOC为&#xff1a;基于EPICS stream模块的直流电源的IOC控制程序实例-CSDN博客 1&#xff09;创建这个IOC程序目录结构&#xff0c;操作…

pnpm 安装

npm install pnpm -g 解决方案&#xff1a; 1、使用管理员的身份打开powershell, win x 2、输入 set-executionpolicy remotesigned 后按y&#xff0c;问题得到解决 其他&#xff1a; pnpm 安装完成只有&#xff0c;可设置其镜像 1、查阅当前镜像&#xff08;源&#xff09…

C++中的STL库中,容器vector的使用

vector 容器 vector 容器基本概念 vector 的数据安排以及操作方式&#xff0c;与 array 非常相似&#xff0c;两者的唯一差别在于空间的 运用的灵活性。Array 是静态空间&#xff0c;一旦配置了就不能改变&#xff0c;要换大一点或者小一 点的空间&#xff0c;可以&#…

前端开发的前世今生

现代前端开发简介 前端开发的历史CGIServer PageRIAAJAX前端组件化和工程化 现代前端开发模式前端工程化前端组件化单页应用微前端 更多相关技术游戏开发Web Assembly 小结 今天我们来稍微聊一下现代前端开发的过去和现状。 前端开发的历史 CGI 在互联网刚刚开始兴起的时代&a…

Python常用库大全及简要说明,附官方网站链接地址

文章目录 前言环境管理包管理包仓库分发构建工具交互式解析器文件日期和时间文本处理特殊文本格式处理自然语言处理文档配置命令行工具下载器图像处理OCR音频Video地理位置HTTP数据库数据库驱动ORMWeb 框架权限CMS电子商务RESTful API验证模板引擎队列搜索动态消息资源管理缓存…

HarmonyOS ArkTS与c++交互通信

一、创建Native C Module 1、右键项目->new->module 如图&#xff1a; 2、修改build-profile.json5配置 "externalNativeOptions": {"path": "./src/main/cpp/CMakeLists.txt","arguments": "-v -DOHOS_STLc_shared&quo…

Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊

文章目录 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊使用 RenderEffect 模糊使用 Vukan 模糊使用 GLSL 模糊RS、Vukan、RenderEffect、GLSL 效率对比 Android Bitmap 使用Vukan、RenderEffect、GLSL实现模糊 本文首发地址 https://blog.csdn.net/CSqingchen/articl…

运算放大器和常见运放电路

关于运算放大器 运算放大器(Operational Amplifier), 简称运放, 是一种直流耦合, 差模输入, 单端输出(Differential-in, single-ended output)的高增益电压放大器件. 运放能产生一个比输入端电势差大数十万倍的输出电势. 因为刚发明时主要用于加减法等运算电路中, 因而得名运算…

【Java】10. 循环语句

10. 循环语句 10.1 for循环 10.2 while循环 10.3 do…while循环 退出嵌套循环&#xff1a; 可以在最外侧循环加loop:&#xff08;变量任意&#xff09;&#xff0c;然后内侧循环执行return loop;即全部跳出循环System.exit(0);停止虚拟机运行

LLM算法工程师面试题总结

一、请简述对大模型的基本原理和架构的理解。 大型语言模型如GPT&#xff08;Generative Pre-trained Transformer&#xff09;系列是基于自注意力机制的深度学习模型&#xff0c;主要用于处理和生成人类语言。下面简要概述了它们的一些基本原理和架构特点&#xff1a; 基本原…