springboot和mybatisPlus整合流程

项目github地址

https://github.com/flyduckforever/springbootMP

项目基本结构文档

在这里插入图片描述

pox依赖

<!--统一版本,里面有个pom里面有dependency Managenment,里面已经规定了版本-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
</parent>

<!--依赖-->
<dependencies>
    <!--引入这个依赖,springboot里面的许多默认配置都会启用,tomcat,mvc之类-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--jdbc启动器-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <!--mysql数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--mybatis启动器-->
    <!--<dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.2</version>
    </dependency>-->
    <!--通用mapper,可以完成单表CRUD,可以代替mybatis启动器-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.0.7.1</version>
    </dependency>
    <!--热部署-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
    </dependency>
    <!--连接池-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.6</version>
    </dependency>
    <!--自动get和set方法-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!--测试-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
</dependencies>

启动器Application

@SpringBootApplication
@MapperScan("com.biz.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

开始整合mybatis

配置文件application.yml

server:
  port: 8082
  servlet:
    context-path: /demo
spring:
  application:
    name: mybatis-plus-curd

  datasource:
    username: root
    password: 1234
    url: jdbc:mysql://localhost:3306/springboot?characterEncoding=utf-8&serverTimezone=GMT%2B8
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
  mvc:
    servlet:
      load-on-startup: 1
mybatis-plus:
  type-aliases-package: com.biz.pojo
  mapper-locations: classpath:mapper/*.xml

pojo

@Data
public class Hero {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private String username;
    private String profession;
    private String phone;
    private String email;
    private Date onlinetime;
}

mapper里面的接口,HeroMapper(接口)

这个不用spring管理,因为@MapperScan

public interface HeroMapper extends BaseMapper<Hero> {
    //自己定义的一个方法
    public List<Hero> getAllHero();

}

接口对应xml文件HeroMapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!-- 指明当前xml对应的Mapper -->
<mapper namespace="com.biz.mapper.HeroMapper">

    <select id="getAllHero" resultType="com.biz.pojo.Hero">
        select * from `tb_hero`;
    </select>
</mapper>

service和controller

service

接口HeroService

public interface HeroService {
    public List<Hero> getAllHero();
}

实现类HeroServiceImpl

@Service
public class HeroServiceImpl implements HeroService {
    @Autowired
    private HeroMapper heroMapper;
    @Override
    public List<Hero> getAllHero() {
        return heroMapper.getAllHero();
    }
}

controller

@RestController
public class MyController {
    @Autowired
    private HeroService heroService;
    @RequestMapping("getAllHero")
    public String getAllHero(){
        List<Hero> allHero = heroService.getAllHero();
        System.out.println(allHero);
        return "hello";
    }
}

猜你喜欢

转载自www.cnblogs.com/flyduckforever/p/11532948.html