zoukankan      html  css  js  c++  java
  • MyBatis中的@Mapper注解 @Mappe与@MapperScan关系

    从mybatis3.4.0开始加入了@Mapper注解,目的就是为了不再写mapper映射文件

    现在项目中的配置

    public interface DemoMapper{
    int deleteByPrimaryKey(Integer id);
    }


    @MapperScan("com.mapper")
    public class DlxRrsApplication {
    }

    原因:

         我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Mapper之类的注解,那么为什么可以被Spring管理呢?

    (1)方式一:使用@Mapper注解

           为了让DemoMapper能够让别的类进行引用,我们可以在DemMapper类上添加@Mapper注解:

    Java代码  
    @Mapper  
    public interface DemoMapper {  
        @Insert("insert into Demo(name) values(#{name})")  
        @Options(keyProperty="id",keyColumn="id",useGeneratedKeys=true)  
        public void save(Demo demo);  
    }  
     

    直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,麻烦。

    (2)方式二:使用@MapperScan注解

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

    Java代码  
    @SpringBootApplication  
    @MapperScan("com.kfit.*.mapper")  
    public class App {  
        public static void main(String[] args) {  
           SpringApplication.run(App.class, args);  
        }  
    }  
     

    或者:

    Java代码  
    @SpringBootApplication  
    @MapperScan("com.kfit.mapper")  
    public class App {  
        public static void main(String[] args) {  
           SpringApplication.run(App.class, args);  
        }  
    }  
     

           可以根据包的结构指定不同的表达式。

    使用@MapperScan注解多个包

    可以使用如下的方式指定多个包:

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

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

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

  • 相关阅读:
    Joint Consensus两阶段成员变更的单步实现
    深度干货|云原生分布式数据库 PolarDBX 的技术演进
    SpringMVC框架入门配置 IDEA下搭建Maven项目
    windows安装composer方法和使用方法
    idea2016 spring 新手上路
    jQuery 获取 attr() 与 prop() 属性值的方法及区别介绍 _fei
    处女座的看过来【 JetBrains强迫症】注释篇
    phpstorm 配置 xdebug调试工具
    使用Intellij IDEA整合Spring+Spring MVC+MyBitis
    长链剖分小记
  • 原文地址:https://www.cnblogs.com/panchanggui/p/10402158.html
Copyright © 2011-2022 走看看