发布于2021-06-14 09:14 阅读(805) 评论(0) 点赞(10) 收藏(2)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.blackjoker</groupId>
<artifactId>mybatis-plus-dynamic</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mybatis-plus-dynamic</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.20</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.4.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
package com.blackjoker.mybatisplusdynamic.config;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
/**
* @author miemie
* @since 2018-08-10
*/
@Configuration
@MapperScan("com.blackjoker.mybatisplusdynamic.mapper")
public class MybatisPlusConfig {
}
swagger 配置文件
package com.blackjoker.mybatisplusdynamic.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.function.Predicate;
import static springfox.documentation.builders.PathSelectors.regex;
/**
* @author itguang
* @create 2018-01-04 13:36
**/
@Configuration
@EnableSwagger2
public class SwaggerConfig{
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.blackjoker.mybatisplusdynamic.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger构建api文档")
.description("简单优雅的restfun风格,http://blog.csdn.net/forezp")
.termsOfServiceUrl("http://blog.csdn.net/forezp")
.version("1.0")
.build();
}
}
package com.blackjoker.mybatisplusdynamic.controller;
import com.blackjoker.mybatisplusdynamic.entity.User;
import com.blackjoker.mybatisplusdynamic.mapper.User1Mapper;
import com.blackjoker.mybatisplusdynamic.mapper.UserMapper;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import static org.springframework.util.MimeTypeUtils.APPLICATION_JSON_VALUE;
/**
* @author
* @create 2021-04-18 23:36
**/
@RestController
@RequestMapping(value = "/user", produces = APPLICATION_JSON_VALUE) //配置返回值 application/json
public class UserController {
@Resource
private UserMapper userMapper;
@Resource
private User1Mapper user1Mapper;
@RequestMapping(method = RequestMethod.GET, value = "/api/list1")
public String sayHello() {
User user1 = user1Mapper.selectById(1);
System.out.println(user1.toString());
return user1.toString();
}
@RequestMapping(method = RequestMethod.GET, value = "/api/list")
public String addUser() {
User user1 = userMapper.selectById(1);
System.out.println(user1.toString());
return user1.toString();
}
}
entity
package com.blackjoker.mybatisplusdynamic.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 用户实体对应表 user
* </p>
*
* @author hubin
* @since 2018-08-11
*/
@Data
@TableName("user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
@TableField(exist = false)
private String ignoreColumn = "ignoreColumn";
@TableField(exist = false)
private Integer count;
}
Mapper
package com.blackjoker.mybatisplusdynamic.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.blackjoker.mybatisplusdynamic.entity.User;
import org.mapstruct.Mapper;
@Mapper
@DS("slave_1")
public interface User1Mapper extends BaseMapper<User> {
}
package com.blackjoker.mybatisplusdynamic.mapper;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.blackjoker.mybatisplusdynamic.entity.User;
import org.mapstruct.Mapper;
@Mapper
@DS("master")
public interface UserMapper extends BaseMapper<User> {
}
application 配置类
这个需要替换成自己的数据库配置
spring:
datasource:
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master
lazy: false #默认立即初始化数据源,true则支持在需要建立连接时再初始化数据源
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
master:
url: jdbc:mysql://localhost:3306/mybatis
username: root
password: 1234
driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
slave_1:
url: jdbc:mysql://localhost:3306/mybatis2
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
#enable swagger
swagger:
enable: true
package com.blackjoker.mybatisplusdynamic;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MybatisPlusDynamicApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisPlusDynamicApplication.class, args);
}
}
作者:快起来搬砖啦
链接:http://www.javaheidong.com/blog/article/222620/c03ac50348a630da68cc/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!