首页 > 其他分享 >Mapper目录的作用

Mapper目录的作用

时间:2024-09-05 21:22:48浏览次数:3  
标签:Mapper Spring UserMapper 接口 id 目录 作用 注入

经常在项目中遇见Mapper

那么这个Mapper到底是什么意思呢
其实呢,Mapper啊
就是一个个抽象的接口,看到了吧,没有具体的实现方法,它就是一个接口,但是呢,Mapper其实主要是和数据库操作有关的,它是去实现CRUD的
Mapper接口的方法可以通过,注解啊和xml去进行关联的SQL语句

代码这种东西举个例子就最直观了嘛
写个Mapper的接口啊

public interface AdminMapper{
	User findById(int id);
	int insertUser(User user);
	int updateUser(User user);
	int deleteUser(User user);
	
}

那么相应的xml

<mapper namespace="com.example.mapper.Usermapper">
	<select id="findById" resultType="User">
	select * from user where id=#{id}
	</select>
</mapper>
	

当然也可以通过注解,我觉得注解更简洁,当然缺点就是没那么结构化

@Select(select * from user where id = #{id})
User findById(id);

是的就是这样,记得import一下mapper

当然还有另外一种,如果采用了Mybatis这个框架
MyBatis 使用 Mapper 接口和 sqlSession 进行自动映射,将数据库查询结果自动映射到 Java 对象中,简化了手动处理结果集的复杂度。

当然还有Spring自动扫描
在这一部分,我们探讨的是 Mapper 接口与 Spring 整合管理 的过程。在 Spring 与 MyBatis 的整合中,Mapper 接口通过 Spring 容器进行管理,并可以通过依赖注入的方式直接注入到业务层(如 Service 层)中,而不需要开发者手动实例化对象。

详细解读

1. @Service 注解
  • @Autowired 注解用于自动注入依赖(Dependency Injection),在这里,它告诉 Spring 框架自动将 UserMapper 这个接口的实现类注入到 UserService 类中,而不需要手动创建 UserMapper 的实例。
  • 这个注入过程是基于 Spring 容器 管理的 Bean。Spring 会找到对应的 UserMapper 接口的实现,并将其注入到 UserService 中。
  • 通过这种注解方式,开发者不需要显式地写代码来创建 UserMapper 实例,Spring 会自动完成对象的初始化和注入。
3. UserMapper 的注入

UserMapper 是一个 MyBatis 映射接口,在项目中,它定义了与数据库相关的操作方法(如 findById(int id))。在项目运行时,MyBatis 框架会通过代理机制生成 UserMapper 的实现类,Spring 会通过依赖注入将这个实现类注入到 UserService 中。

为了完成这一过程,项目中还需要配置 Spring 和 MyBatis 的整合:

  • 在 Spring 配置文件或 Spring Boot 的配置类中,添加 Mapper 扫描 配置,告诉 Spring 容器要扫描 Mapper 接口所在的包,并自动为这些接口生成实现类。例如:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.mecol.film.mapper"/> <!-- 指定Mapper接口所在包路径 -->
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>

标签:Mapper,Spring,UserMapper,接口,id,目录,作用,注入
From: https://blog.csdn.net/weixin_73537561/article/details/141941241

相关文章

  • Linux-目录结构和Vim编辑器
    目录Linux目录结构基本介绍​编辑具体的目录结构Vim编辑器vi和vim的基本介绍vi和vim常用的三种模式正常模式插入模式命令行模式各种模式的相互切换vim快捷键盘图粘贴与删除拷贝当前行并粘贴拷贝多行并粘贴删除当前行删除多行Vim的退出保存命令普通退出保存......
  • 目录扫描-dirsearch
    dirsearch.py-uhttps://www.xxxx///对xxxx进行目录扫描dirsearch.py-uhttps://www.xxxx/-i200//筛选状态码为200的结果dirsearch.py-uhttps://www.xxxx/-x401,403//排除状态码为401,403的结果dirsearch.py-uhttps://www.xxxx/-i200-oC:\Users\Administrat......
  • AbMole|DNA双链断裂修复中的序列与染色质特征:MRX复合体的作用与机制
     在生物学领域中,DNA双链断裂(DSB)作为一种极具破坏性的基因组损伤,其准确且高效的修复对于维持细胞基因组的稳定性和功能至关重要。由来自哥伦比亚大学欧文医学中心微生物学与免疫学系的RobertGnügge和瑞士苏黎世工业大学(ETH)生物化学研究所生物系的 GiordanoReginato,Petr......
  • Linux中cd命令的主要作用是什么?
    cd命令是Linux系统中用于改变当前工作目录的命令,其全称为changedirectory,这个命令在Unix、Linux和MacOS等操作系统中都非常常用,那么Linux常用命令cd如何使用?具体请看下文。cd命令用于在Linux文件系统中导航。它允许您更改当前工作目录,即执行命令时所处的位置。基本......
  • API数据接口在电商运营中的作用有哪些?
    API数据接口在电商运营中扮演着至关重要的角色,其作用广泛且深远。以下是API数据接口在电商运营中的几个主要作用:数据采集与分析:API接口能够收集用户的购物记录、搜索记录、商品收藏记录以及其他用户行为数据。这些数据对于电商企业来说是宝贵的资源,可以帮助企业更好地了解用户需求......
  • python 源文件 源目录 转 包
    pythonsetup.pysdist 命令会完成以下步骤:准备源码:将源文件(包括Python文件、数据文件等)收集到一个目录中,以便打包。生成分发文件:创建一个压缩包(通常是 .tar.gz 或 .zip 格式),包含所有必要的源文件和元数据。这些文件会被放置在 dist 目录中。构建步骤:sdist......
  • 函数的作用域
    #局部变量不能修改全局变量,如需要修改是需要先进行声明a=1#全局变量deff():globala#声明使用全局变量print("第1次打印:%s"%a)a=2#修改全局变量print("第2次打印:%s"%a)deff_1():globala#因为上面已声明全局变......
  • 对象存储服务器有什么作用
    对象存储服务器(ObjectStorageServer)是专为存储、管理和检索大量非结构化数据(如文档、图片、音频、视频等)设计的存储解决方案。以下是对象存储服务器的主要作用:1.存储大量非结构化数据对象存储能够高效地处理和存储大量的非结构化数据,这是传统文件系统或块存储难以比拟的。2.数......
  • 网站提示:”会话目录写入权限不足“
    当网站提示“会话目录写入权限不足”时,这意味着PHP会话文件无法写入指定的会话目录。这通常是由目录权限、所有者或PHP配置问题引起的。以下是一些排查和解决该问题的方法:1.检查会话目录首先,确认PHP会话目录的位置和权限。查看PHP配置创建一个 info.php 文件,内容......
  • 后台登录提示:”登录失败:数据库目录写入权限不足!“
    当后台登录提示“登录失败:数据库目录写入权限不足!”时,这表示应用程序在尝试写入数据库相关的文件或目录时遇到了权限问题。这种情况通常发生在使用文件系统来存储临时文件、缓存或会话数据的应用程序中。以下是解决此问题的一些步骤:1.确认数据库目录首先确认应用程序使用的数据......