zoukankan      html  css  js  c++  java
  • spring boot集成mybatis-plus(注解模式)

    一.所需材料

    以 spring boot集成mybatis(注解模式)文为基础,在此基础上引入mybatis-plus.

    配置文件:

    <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>3.4.0</version>
    </dependency>

    二.项目目录(略)

    三.项目代码

    @Mapper
    public interface UserMapper extends BaseMapper<UserEntity> {
    
    }
    @Service
    public class UserService {
    
        @Autowired
        private UserMapper userMapper;
    
        public UserEntity getOne(String x)
        {
            return userMapper.selectById(x);
        }
    
    }
    @RestController
    @RequestMapping("/user")
    public class UserController {
    
        @Autowired
        private UserService userService;
    
        @RequestMapping("/get1")
        public UserEntity getOne(String id) {
            return userService.getOne(id);
        }
    
      
    }

    以上代码正常运行,但是service中会报如下警告:

    Could not autowire. No beans of 'UserMapper' type found. less... (Ctrl+F1) 
    Inspection info:Checks autowiring problems in a bean class.

    参考:https://blog.csdn.net/qq_39039017/article/details/84143109

    修改代码为:

    @Repository
    public interface UserMapper extends BaseMapper<UserEntity> {
    
    }
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.stereotype.Repository;
    
    @SpringBootApplication
    @MapperScan(basePackages = "***.com.mybatis14",annotationClass = Repository.class)
    public class Mybatis14Application {
        public static void main(String[] args) {
            SpringApplication.run(Mybatis14Application.class, args);
        }
    
    }

    或者采用以下方式(参考:https://blog.csdn.net/Xu_JL1997/article/details/90934359):

    @Mapper
    @Repository
    public interface UserMapper extends BaseMapper<UserEntity> {
    }
    @SpringBootApplication
    public class Mybatis14Application {
        public static void main(String[] args) {
            SpringApplication.run(Mybatis14Application.class, args);
        }
    
    }

    总结:一定要用@Mapper或者@MapperScan,没有的话,mybatis无法找到mapper,无法生成具体业务代码。而@Repository可有可无,如果没有,开发环境会报警告,但不影响运行。加上后则警告消失。

    四.运行结果

    输入调用地址:http://localhost:8080/user/get1?id=1

    返回结果:

  • 相关阅读:
    梅小雨 20180912-3 词频统计
    梅小雨20190912-2 命令行
    梅小雨20190905-1 每周例行报告
    梅小雨20190905-2 博客作业
    梅小雨20190905-3 命令行和控制台编程
    20190919-4 单元测试 结对
    20190919-2 功能测试
    20190919-1 每周例行报告
    20190919-6 四则运算试题生成
    20190919-5 代码规范
  • 原文地址:https://www.cnblogs.com/jizhong/p/13983994.html
Copyright © 2011-2022 走看看