参考:Spring Boot的MyBatis注解:@MapperScan和@Mapper

1、@Mapper单独加在Mapper上

  1. package com.tj.demo.system.mapper;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.tj.demo.system.domain.Users;
  4. import org.apache.ibatis.annotations.Mapper;
  5. @Mapper
  6. public interface UsersMapper extends BaseMapper<Users> {
  7. //继承BaseMapper常用的增删改查
  8. }

2、@MapperScan加在main主启动程序上,路径下的mapper就不需要在加@Mapper

  1. package com.tj.demo;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.mybatis.spring.annotation.MapperScan;
  4. import org.springframework.boot.SpringApplication;
  5. import org.springframework.boot.autoconfigure.SpringBootApplication;
  6. import org.springframework.boot.web.servlet.ServletComponentScan;
  7. @Slf4j //log日志
  8. @SpringBootApplication
  9. @ServletComponentScan //扫描WebFilter的注解
  10. @MapperScan({"com.tj.demo.system.mapper"})
  11. public class Application {
  12. public static void main(String[] args) {
  13. SpringApplication.run(Application.class, args);
  14. log.info("项目启动成功....");
  15. }
  16. }

多个mapper可以这样写,如果mapper没有scan就会报错

  1. @Slf4j //log日志
  2. @SpringBootApplication
  3. @ServletComponentScan //扫描WebFilter的注解
  4. @MapperScan({"com.tj.system.mapper","com.tj.base.mapper"}) //这个里加了,mapper下就不需要再加@Mapper了
  5. public class Application {
  6. public static void main(String[] args) {
  7. SpringApplication.run(Application.class, args);
  8. log.info("项目启动成功....");
  9. }
  10. }