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

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 mapper
        PUBLIC "-//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 mapper
        PUBLIC "-//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.dtcms.com/a/5045.html

相关文章:

  • 【halcon】halcon 函数文件 以及 脚本引擎如何调用外部函数文件 下篇
  • 基于SSM的图书馆管理系统的设计与实现
  • 目标检测YOLO实战应用案例100讲-基于深度学习的输电线路 鸟巢检测
  • 阿里云虚拟机安装nginx容器步骤
  • 互联网Java工程师面试题·Spring Boot篇·第一弹
  • uniapp开发小程序经验记录
  • python监控cpu程序
  • dockerfile与docker-compose解释及对比
  • C++12.4
  • mysql主从复制-redis集群扩容缩容、缓存优化(缓存更新策略、穿透,击穿,雪崩)、mysql主从搭建、django实现读写分离
  • 「Qt Widget中文示例指南」如何创建一个计算器?(二)
  • [ROS2] --- ROS diff ROS2
  • Python 3 使用 write()、writelines() 函数写入文件
  • SQL Server对象类型(8)——4.8.约束(Constraint)
  • 个人硬件测试用例入门设计
  • 跟我学c++高级篇——动态反射之二动态列表
  • python动态圣诞下雪图
  • C-语言每日刷题
  • MySQL基础『数据类型』
  • echarts 地图
  • 微信扫码登录修改二维码的样式
  • git的安装及ssh配置(Linux)
  • Linux中top命令输出日志分析?
  • Kubernetes学习笔记-Part.01 Kubernets与docker
  • 如何使用群晖管家结合内网穿透实现公网远程访问本地黑群晖
  • Docker快速入门(docker加速,镜像,容器,数据卷常见命令操作整理)
  • 用C++语言编写的图书馆系统代码,包括图书录入、查询、插入、修改、删除和添加功能
  • RNN:文本生成
  • DAPP开发【02】Remix使用
  • Python----练习:使用面向对象实现报名系统开发