新建一个Spring Boot+MyBatis-Plus项目

1、新建一个SpringBoot空项目

信息填写完后点击Next

什么都不选,直接Finish

application.properties改名为application.yml,添加上端口号

server:
  port: 8110

2、引入mysql

新建一个数据库test,数据表company

/*
 Navicat Premium Data Transfer

 Source Server         : 本地
 Source Server Type    : MySQL
 Source Server Version : 80027
 Source Host           : localhost:3306
 Source Schema         : test

 Target Server Type    : MySQL
 Target Server Version : 80027
 File Encoding         : 65001

 Date: 20/12/2021 16:31:16
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for company
-- ----------------------------
DROP TABLE IF EXISTS `company`;
CREATE TABLE `company`  (
  `id` bigint NOT NULL COMMENT '主键',
  `company_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '企业名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '简介',
  `business_license` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '营业执照',
  `address` varchar(150) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地址',
  `status` tinyint NULL DEFAULT 1 COMMENT '状态 1:正常  0:停用',
  `remarks` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
  `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_date` datetime NULL DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '企业信息表' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of company
-- ----------------------------
INSERT INTO `company` VALUES (1455403646135721984, '北大工业科技', '哈哈哈简介', '北大工业科技公司营业执照', '北大南门', 1, '备注1', '2021-11-02 05:15:12', '2021-12-17 16:03:49');
INSERT INTO `company` VALUES (1455403646135721987, '北京科技企业', '哈简介哈', '北京科技企业营业执照', '北京', 1, '备注2', '2021-11-02 05:17:24', '2021-12-17 16:03:51');

SET FOREIGN_KEY_CHECKS = 1;

添加依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

配置application.yml

spring:
  datasource:
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
    username: root
    password: root
  • driverClassName属性

    MySQL8.0及以上是:com.mysql.cj.jdbc.Driver

    MySQL8.0以下是:com.mysql.jdbc.Driver

3、引入Mybatis-Plus

添加依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.1</version>
    <optional>true</optional>
</dependency>

配置application.yml

# mybatis-plus相关配置
mybatis-plus:
  # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
  mapper-locations: classpath*:mapper/*Mapper.xml
  # 指定实体类的包,多个package用逗号或者分号分隔
  type-aliases-package: com.yuyun.*.dto
  # 以下配置均有默认值,可以不设置
  global-config:
    db-config:
      #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
      id-type: AUTO
      #字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
      field-strategy: NOT_EMPTY
      #数据库类型
      db-type: MYSQL
  configuration:
    # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
    map-underscore-to-camel-case: true
    # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
    call-setters-on-nulls: true
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

pom.xml完整内容

<?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.6.1</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.yuyun</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot</name>
    <description>springboot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--生成实体成fet set-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!-- mybatisPlus 核心库 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
            <optional>true</optional>
        </dependency>

        <!-- MySQL驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

4、操作数据库表

(1)新建表对应的实体类

package com.yuyun.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 企业信息表
 *
 * @author  
 * @since 1.0.0 2021-12-17
 */
@Data
@TableName("company")
public class CompanyDTO implements Serializable {
    private static final long serialVersionUID = 1L;
	/**
	 * 主键
	 */
	private Long id;
	/**
	 * 企业名称
	 */
	private String companyName;
	/**
	 * 简介
	 */
	private String description;
	/**
	 * 营业执照
	 */
	private String businessLicense;
	/**
	 * 地址
	 */
	private String address;
	/**
	 * 状态 1:正常  0:停用
	 */
	private Integer status;
	/**
	 * 备注
	 */
	private String remarks;
	/**
	 * 创建时间
	 */
	private Date createDate;
	/**
	 * 更新时间
	 */
	private Date updateDate;
}

(2)新建操作实体类的Mapper类

直接继承 BaseMapper,这是 mybatis-plus 封装好的类。

package com.yuyun.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuyun.dto.CompanyDTO;
import org.apache.ibatis.annotations.Mapper;

/**
 * 企业信息表
 *
 * @author  
 * @since 1.0.0 2021-12-17
 */
@Mapper
public interface CompanyMapper extends BaseMapper<CompanyDTO> {
	
}

(3)新建Mapper类对应的xml文件

CompanyMapper.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.yuyun.mapper.CompanyMapper">

    <resultMap type="com.yuyun.dto.CompanyDTO" id="companyMap">
        <result property="id" column="id"/>
        <result property="companyName" column="company_name"/>
        <result property="description" column="description"/>
        <result property="businessLicense" column="business_license"/>
        <result property="address" column="address"/>
        <result property="status" column="status"/>
        <result property="remarks" column="remarks"/>
        <result property="createDate" column="create_date"/>
        <result property="updateDate" column="update_date"/>
    </resultMap>

</mapper>

(4)新建Service接口

package com.yuyun.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuyun.dto.CompanyDTO;

/**
 * 企业信息表
 *
 * @author
 * @since 1.0.0 2021-12-17
 */
public interface CompanyService extends IService<CompanyDTO> {

}

(5)新建Service接口实现类

package com.yuyun.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuyun.mapper.CompanyMapper;
import com.yuyun.dto.CompanyDTO;
import com.yuyun.service.CompanyService;
import org.springframework.stereotype.Service;

/**
 * 企业信息表
 *
 * @author
 * @since 1.0.0 2021-12-17
 */
@Service
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, CompanyDTO> implements CompanyService {
    
}

(6)新建Controller类

package com.yuyun.controller;

import com.yuyun.dto.CompanyDTO;
import com.yuyun.service.CompanyService;
import com.yuyun.utils.Result;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 企业信息表
 *
 * @author
 * @since 1.0.0 2021-12-17
 */
@RestController
@RequestMapping("company")
public class CompanyController {
    @Autowired
    private CompanyService companyService;

    @GetMapping("list")
    public Result<List<CompanyDTO>> list() {
        List<CompanyDTO> companyList = companyService.list();

        return new Result<List<CompanyDTO>>().success(companyList);
    }

}

5、启动类中添加Mapper扫描

package com.yuyun;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author hyh
 */
@MapperScan("com.yuyun.mapper")
@SpringBootApplication
public class SpringbootApplication {

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

}

6、启动项目

启动成功后直接访问:http://localhost:8110/company/list,出现以下结果,则MyBatis-Plus引入成功

image-20211220165631544
源码地址:https://gitee.com/hyh17808770899/spring-boot/tree/master/springboot-01

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨云21

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值