SpringBoot整合Nacos、MybatisPlus

@

SpringBoot搭建

  1. 按网上的教材搭建一个极简的SpringBoot项目,pom文件只留下默认声明。此时我们只需新增web声明。
  2. pom文件
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  1. 代码
@RestController
@RequestMapping(value = "/hello")
public class HelloController {
 
    @RequestMapping(value = "/")
    String hello(){
        return "hello cc ";
    } 
}
  1. 配置文件application.properties
server.port=8080
  1. 展现
    实现如图:

SpringBoot整合Nacos

整合nacosConfig

  1. 下载nacos-client
  2. pom文件
<!-- 1. nacos 配置管理功能依赖 -->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.1</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-actuator</artifactId>
            <version>0.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
  1. 代码
  • ConfigController类
@Controller
@RequestMapping("config")
public class ConfigController {

    @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
    private boolean useLocalCache;

    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public boolean get() {
        return useLocalCache;
    }
}
  • NacosConfigApplication 类
@SpringBootApplication
@NacosPropertySource(dataId = "example", autoRefreshed = true)
public class NacosConfigApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosConfigApplication.class, args);
    }
}
  1. 配置文件application.properties
nacos.config.server-addr=127.0.0.1:8848
  1. 展现
    通过访问Controller 就可以看到效果

    整合nacosDiscovery

  2. pom文件
<!-- 2. nacos 服务发现功能依赖-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.1</version>
        </dependency>
  1. 代码
  • DiscoveryController类
@Controller
@RequestMapping("discovery")
public class DiscoveryController {

    @NacosInjected
    NamingService namingService;

    @RequestMapping(value = "/get", method = RequestMethod.GET)
    @ResponseBody
    public List<Instance> get(@RequestParam String serviceName) throws NacosException {
        return namingService.getAllInstances(serviceName);
    } 
} 
  • NacosDiscoveryApplication 类
@SpringBootApplication
public class NacosDiscoveryApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosDiscoveryApplication.class, args);
    }
}
  1. 配置文件application.properties
nacos.discovery.server-addr=127.0.0.1:8848
  1. 展现
    通过访问Controller 就可以看到效果

SpringBoot整合MybatisPlus

  1. pom文件
<!-- 数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

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

        <!-- mybatis plus core : QueryWrapper LambdaQuery @MapperScan-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-core</artifactId>
            <version>3.3.1</version>
        </dependency>

        <!-- mybatis plus 代码生成器依赖 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.1</version>
        </dependency>
  1. 代码目录
    在这里插入图片描述
    代码如下:
  • Controller层
@RestController
@RequestMapping(value = "/hello")
public class HelloController { 
    @Resource
    private IBoxService boxService; 
    
    @RequestMapping(value = "/get",method = RequestMethod.GET)
    public Integer getBoxCount(){
       return  boxService.getBoxCount();
    } 
}
  • Service层
public interface IBoxService { 
    Integer getBoxCount();
}
  • Service实现层
@Service
public class BoxServiceImpl implements IBoxService {

    @Resource
    private BoxMapper boxMapper;

    @Override
    public Integer getBoxCount() { 
        return boxMapper.getBoxCount();
    }
}
  • 实体类层
 public class Box { 
    private BigInteger id;

    private String name;

    public BigInteger getId() {
        return id;
    } 
    public void setId(BigInteger id) {
        this.id = id;
    } 
    public String getName() {
        return name;
    } 
    public void setName(String name) {
        this.name = name;
    }
}
  • Mapper层
 @Repository
public interface BoxMapper { 
    Integer getBoxCount();
}
  • Mapper.xml 层
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.BoxMapper">
    <select id="getBoxCount" resultType="java.lang.Integer">
      select count(id) from box
    </select>
</mapper>
  1. 配置文件
spring.datasource.url=jdbc:mysql://localhost:3306/simo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=11111
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis-plus.type-aliases-package=com.example.entity
mybatis-plus.configuration.map-underscore-to-camel-case=true
  1. 展示
    在这里插入图片描述

猜你喜欢

转载自www.cnblogs.com/xudan/p/12445447.html