springBoot+mybatisPlus项目骨架

文章目录

  • 前言
  • 一、数据库表结构
  • 二、项目最终目录结构
  • 三、引入常用依赖(pom.xml)
  • 四、实体类和接口和业务和控制器代码
    • 4.1 实体类代码(Xxx.java)
    • 4.2 mapper接口代码(IXxxMapper.java)
    • 4.3 mapper接口实现(IXxxMapper.xml)
    • 4.4 业务接口(IXxxService.java)
    • 4.5 业务接口实现类(XxxServiceImpl.java)
    • 4.6 控制器(XxxController.java)
  • 五、配置(application.yml)
  • 六、启动类(App.java)
  • 七、运行效果
  • 总结


前言

每次想写一个springBoot+mybatis项目的代码时都要经过 建库建表->导入依赖->写实体类和mapper接口等->配置yml 这样一个无脑重复的过程,如果直接把这些死代码直接复制粘贴就可以把时间集中在我们要研究的代码上而不用浪费时间在这些前置过程中!


一、数据库表结构

springBoot+mybatisPlus项目骨架_第1张图片

二、项目最终目录结构

springBoot+mybatisPlus项目骨架_第2张图片

三、引入常用依赖(pom.xml)

代码如下:

	<parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.3.0.RELEASEversion>
        <relativePath />
    parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>org.projectlombokgroupId>
            <artifactId>lombokartifactId>
            <optional>trueoptional>
        dependency>

        <dependency>
            <groupId>com.baomidougroupId>
            <artifactId>mybatis-plus-boot-starterartifactId>
            <version>3.3.2version>
        dependency>

        
        <dependency>
            <groupId>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>

        dependency>

        
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger2artifactId>
            <version>2.9.2version>
        dependency>
        <dependency>
            <groupId>io.springfoxgroupId>
            <artifactId>springfox-swagger-uiartifactId>
            <version>2.9.2version>
        dependency>
    dependencies>

四、实体类和接口和业务和控制器代码

4.1 实体类代码(Xxx.java)

代码如下:

@Data
@TableName("XX_xxx")  // 该类所对应的数据库表名
@ApiModel(value="Xxx对象", description="")
public class Xxx {

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "姓名")
    @TableField("name")
    private String name;

    @ApiModelProperty(value = "性别")
    @TableField("sex")
    private String sex;

    @ApiModelProperty(value = "生日")
    @TableField("birthday")
    private LocalDateTime birthday;

}

4.2 mapper接口代码(IXxxMapper.java)

@Mapper
public interface IXxxMapper extends BaseMapper<Xxx> {

}

4.3 mapper接口实现(IXxxMapper.xml)


DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.venny.demo.mapper.IXxxMapper">

    
    <resultMap id="BaseResultMap" type="com.venny.demo.entity.Xxx">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="sex" property="sex" />
        <result column="birthday" property="birthday" />
    resultMap>

mapper>

4.4 业务接口(IXxxService.java)

public interface IXxxService extends IService<Xxx> {

Xxx findOne(Integer id);  // 查询表中一条记录

}

4.5 业务接口实现类(XxxServiceImpl.java)

@Service
public class XxxServiceImpl extends ServiceImpl<IXxxMapper, Xxx> implements IXxxService {

	@Resource
    private IXxxMapper xxxMapper;

    /**
     * 查询表中一条记录
     * @param id
     * @return
     */
    @Override
    public Xxx findOne(Integer id) {
        Xxx xxx = xxxMapper.selectById(id);
        return xxx;
    }

}

4.6 控制器(XxxController.java)

@RestController
@RequestMapping("/demo/xxx")
public class XxxController {

	@Autowired
    private IXxxService xxxService;

    @GetMapping("/findOne/{id}")
    public String findOne(@PathVariable("id") Integer id) {
        return xxxService.findOne(id).toString();
    }

}

五、配置(application.yml)

spring:
  profiles:
    active: dev

application-dev.yml

server:
  port: 8088

# 配置jdbc
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/20220511demo?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
    username: root
    password: 123456789

# 配置mybatis-plus
mybatis-plus:
  configuration:
    #这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      #逻辑删除值
      logic-delete-value: 1
      #逻辑未删除值
      logic-not-delete-value: 0
  #配置扫描xml
  mapper-locations:
    # *.xml的具体路径
    - classpath*:/mapper/*.xml

六、启动类(App.java)

@SpringBootApplication
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
 }

}

七、运行效果

在浏览器中输入:

http://localhost:8088/demo/xxx/findOne/1

1、
springBoot+mybatisPlus项目骨架_第3张图片
2、
springBoot+mybatisPlus项目骨架_第4张图片


总结

以后很多练手的springBoot项目基础代码可以在这里进行复制了,只需要把xxx改成你对应的类名就行了~

你可能感兴趣的:(mybatis-plus,spring,boot,spring,sql)