跳转到主要内容

springboot 集成mybatis-plus

创建项目

create-springboot-project: https://qq829.cn/book/books/bbcbf/page/create-springboot-project

集成数据库

注意:如果你是按create-springboot-project创建的项目,需要删除配置



# application.yml
spring:
  autoconfigure:
    # 阻止Spring Boot自动配置数据源
    exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

约定与名词解释

  • entity(实体),与数据表,代表一张真实的数据表
  • DAO(数据访问对象),访问数据库的接口或实例,在spring-boot中,有时候有喜欢取名为Mapper
  • DTO(数据传输对象),含业务领域的数据(既包含entity,但是应该多余entity),但不包含业务逻辑

增加pom依赖


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-bom</artifactId>
                <version>3.5.10</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

        <!--mysql支持-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <!--mybatis支持-->
        <!--如果使用 mybatis plus 请将 mybatis 支持 去掉, mybatis plus 会自动处理依赖-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>3.0.3</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.10</version>
        </dependency>


增加数据库连接配置


spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:33306/dataway?charset=utf8mb4&serverTimezone=Asia/Shanghai
    username: <root>
    password: <password>
    driver-class-name: com.mysql.cj.jdbc.Driver


创建数据库


创建Entity(实体)与数据库结构保持一致

注意 @Data@TableName("user") 注解


@Data
@TableName("user")
public class UserEntity {
    private Integer id;
    private String name;
    private Integer age;
    private String email;
}


创建DTO

这个可以后创建或者先直接继承于Entity,注意 @Data 注解


@Data
public class UserDTO extends UserEntity {

}

创建DAO


@Mapper
public interface UserDao extends BaseMapper<UserDTO> {
}