MapperScan注解详解[通俗易懂]

MapperScan注解详解[通俗易懂]1、@Mapper注解:作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类添加位置:接口类上面@MapperpublicinterfaceUserDAO{  //代码}如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan2、@MapperScan作用:指定…

大家好,又见面了,我是你们的朋友全栈君。

1、@Mapper注解:
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面

@Mapper
public interface UserDAO {
   //代码
}

如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan

2、@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加,

@SpringBootApplication
@MapperScan(“com.winter.dao”)
public class SpringbootMybatisDemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisDemoApplication.class, args);
    }
}

添加@MapperScan(“com.winter.dao”)注解以后,com.winter.dao包下面的接口类,在编译之后都会生成相应的实现类

3、使用@MapperScan注解多个包
(实际用的时候根据自己的包路径进行修改)

@SpringBootApplication  
@MapperScan({“com.kfit.demo”,”com.kfit.user”})  
public class App {  
    public static void main(String[] args) {  
       SpringApplication.run(App.class, args);  
    }  

4、 如果dao接口类没有在Spring Boot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置:
(没验证过,不确定能否使用,或许需要根据自己定义的包名进行修改路径)

@SpringBootApplication  
@MapperScan({“com.kfit.*.mapper”,”org.kfit.*.mapper”})  
public class App {  
    public static void main(String[] args) {  
       SpringApplication.run(App.class, args);  
    }  

原文:https://blog.csdn.net/nba_linshuhao/article/details/82783454

早点的时间是直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,比较麻烦。

现在通过使用@MapperScan可以指定要扫描的Mapper类的包的路径,比如:

@SpringBootApplication
@MapperScan(“com.lz.water.monitor.mapper”)
// 添加对mapper包扫描
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

}

同时,使用@MapperScan注解多个包

 

  1. @SpringBootApplication  
  2. @MapperScan({“com.kfit.demo”,”com.kfit.user”})  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  

如果如果mapper类没有在Spring Boot主程序可以扫描的包或者子包下面,可以使用如下方式进行配置

  1. @SpringBootApplication  
  2. @MapperScan({“com.kfit.*.mapper”,”org.kfit.*.mapper”})  
  3. public class App {  
  4.     public static void main(String[] args) {  
  5.        SpringApplication.run(App.class, args);  
  6.     }  
  7.  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137888.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月5日 下午10:40
下一篇 2022年5月5日 下午11:00


相关推荐

  • XOR key「建议收藏」

    XOR key「建议收藏」可持久化trie

    2022年7月16日
    16
  • unity3d OnMouseDown()函数没被调用

    unity3d OnMouseDown()函数没被调用为了实现一个获取鼠标点击的物体的功能 写了一下代码 由于这个不针对特定 GameObject 一开始我将这个脚本挂载在摄像机上 结果运行后 点击鼠标 并没有输出 Mouse 说明没调用到 OnMouseDown 函数 后面我把该脚本放到场景中一个物体上 运行后发现 只有点击该物体时 才会调用到 OnMouseDown 点击其他物体都没反应 要使得可以选中任意物体 把这段代码放在 update 函数中 就可以了

    2026年3月18日
    1
  • 与或非门电路的实现原理。

    与或非门电路的实现原理。与或非门电路的实现原理 非门 A 输入 0 时三极管截止 L 处的电压近似 5V 或门 A 处输入高电平 B 处输入高电平 则 D1 与 D2 均未导通 则 L 处近似为 5V nbsp nbsp nbsp nbsp nbsp A 或者 B 为低电平 则导致 A 或者 B 一定有一段导通 则 L 处的电压经过电阻降压后 L 处的电压较低 则为低电平 非门 A 或者 B 为高电平则 A 或者 B 均会导通 L 处的电压近似于高电平

    2026年3月19日
    2
  • navicat v15.0.23.0激活码【2021.8最新】「建议收藏」

    (navicat v15.0.23.0激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~Z9LZO4ZKWA-eyJsaWNlbnNlSWQiOi…

    2022年3月22日
    111
  • dubbo 异步调用

    dubbo 异步调用dubbo异步调用使用总结

    2022年7月11日
    23
  • 虚拟机ftp服务器配置实验报告,FTP服务器配置 实验报告.doc

    虚拟机ftp服务器配置实验报告,FTP服务器配置 实验报告.docFTP 服务器配置实验报告学号 姓名 专业 班级 第周课程名称 计算机网络课程设计实验课时 2 实验项目 FTP 服务器配置实验时间 11 27 实验目的掌握安装 FTP 服务器掌握对 FTP 服务器的设置掌握如何使用 Serv U 架设 FTP 服务器实验环境 WindowsServe 实验内容 算法 程序 步骤和方法 一 安装 IIS 组件 1 单击 开始 设置 控制面板 添加 删除程序

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号