首页 > 其他分享 >SpringBoot 整合 MyBatisPlus框架入门

SpringBoot 整合 MyBatisPlus框架入门

时间:2024-07-10 10:12:44浏览次数:9  
标签:MyBatisPlus SpringBoot 数据库 如下 emp employee java com 入门

步骤1:创建 maven 工程

创建一个空 Maven 工程,如下:

步骤2:pom.xml 文件中添加 MyBatisPlus 相关依赖

<dependencies>
    <!-- mybatispulus 依赖-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.7</version>
    </dependency>

    <!-- mysql 驱动依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>

    <!-- SpringBoot 单元测试依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>2.7.16</version>
        <scope>test</scope>
    </dependency>
    <!-- junit测试框架依赖-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <!--lombok插件依赖-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.30</version>
        <optional>true</optional>
    </dependency>
</dependencies>

步骤3:创建数据库表 employee

使用数据库 GUI 工具 Navicat 新建数据库 mybatisplus, 如下:

创建数据库员工表 employee,如下

建表的 SQL 语句如下:

CREATE TABLE employee(
    emp_id BIGINT(20) NOT NULL,
    name VARCHAR(30),
    emp_gender VARCHAR(6),
    age INT,
    email VARCHAR(50),
    PRIMARY KEY(emp_id)
);

INSERT INTO employee(emp_id,name,emp_gender,age,email)
VALUES(1367686308726788098,'刘晓娟','女',20,'[email protected]');
INSERT INTO employee(emp_id,name,emp_gender,age,email)
VALUES(1367709299695099906,'张春雨','男',28,'[email protected]');
INSERT INTO employee(emp_id,name,emp_gender,age,email)
VALUES(1367717669156028418,'何雨柱','男',23,'[email protected]');

步骤4:构建数据模型 Employee 类

创建 com.binge.model 包用于存放数据模型类,如下:

Employee 类代码如下:

package com.binge.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Employee {
    private Long empId;
    private String name;
    private String empGender;
    private Integer age;
    private String email;
}

步骤5:创建 application.properties 文件配置 MyBatisPlus

在 resources 文件下创建 springboot 的全局配置文件 application.properties ,如下:

配置内容如下:

### 数据库配置
#设置数据库URL地址
spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
#设置数据库用户名
spring.datasource.username=root
#设置数据库密码
spring.datasource.password=password
#设置数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

### mybatisPlus配置
#设置数据模型所在的包
mybatis-plus.type-aliases-package=com.binge.model
#设置SQL语句控制台日志打印
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#设置驼峰命名转换
mybatis-plus.configuration.map-underscore-to-camel-case=true

注意:请设置自己的数据库用户名和密码

步骤6:编写启动类

  1. com.binge 包下新建 mapper 包如下:

  1. com.binge 包下新建 springboot 启动类 MybatisPlusDemoApplication.java,如下:

MybatisPlusDemoApplication.java 如下:

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

步骤7:编写 Mapper 接口

在 mapper 包中创建 EmployeeMapper.java 接口,该接口继承 BaseMapper<Employee>,如下:

EmployeeMapper.java 接口如下:

public interface EmployeeMapper extends BaseMapper<Employee> {
   
}

步骤8:启动服务测试类

在 test/java 文件夹下新建 com.binge.MybatisPlusTests.java 测试类,如下:

MybatisPlusTests.java 如下:

@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatisPlusTests {
    @Resource
    private EmployeeMapper employeeMapper;

    @Test
    public void testSelect(){
        List<Employee> employeeList = employeeMapper.selectList(null);
        employeeList.forEach( System.out::println);
    }
}

执行测试方法 testSelect() 查询 employee 表中所有信息,结果如下:

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4a6c18ad] was not registered for synchronization because synchronization is not active
2024-07-10 09:38:28.503  INFO 13164 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2024-07-10 09:38:29.208  INFO 13164 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
JDBC Connection [HikariProxyConnection@542598487 wrapping com.mysql.cj.jdbc.ConnectionImpl@574cd322] will not be managed by Spring
==>  Preparing: SELECT emp_id,name,emp_gender,age,email FROM employee
==> Parameters: 
<==    Columns: emp_id, name, emp_gender, age, email
<==        Row: 1367686308726788098, 刘晓娟, 女, 20, [email protected]
<==        Row: 1367709299695099906, 张春雨, 男, 28, [email protected]
<==        Row: 1367717669156028418, 何雨柱, 男, 23, [email protected]
<==      Total: 3
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4a6c18ad]
Employee(empId=1367686308726788098, name=刘晓娟, empGender=女, age=20, [email protected])
Employee(empId=1367709299695099906, name=张春雨, empGender=男, age=28, [email protected])
Employee(empId=1367717669156028418, name=何雨柱, empGender=男, age=23, [email protected])

测试成功:)

标签:MyBatisPlus,SpringBoot,数据库,如下,emp,employee,java,com,入门
From: https://www.cnblogs.com/binbingg/p/18293282

相关文章

  • Jenkins集成部署SpringBoot
    Jenkins集成部署SpringBoot1.前言随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致。基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化。因此,传统的人工部署已经心有余而力不足。持续集成,持续部署,持......
  • 利用SpringBoot+rabbitmq 实现邮件异步发送,保证100%投递成功
    在之前的文章中,我们详细介绍了SpringBoot整合mail实现各类邮件的自动推送服务。但是这类服务通常不稳定,当出现网络异常的时候,会导致邮件推送失败。本篇文章将介绍另一种高可靠的服务架构,实现邮件100%被投递成功。类似的短信自动发送等服务也大体相同。一、先来一张流程图......
  • 基于java+springboot+vue实现的音乐网站(文末源码+Lw)102
     功能介绍:本音乐网站管理员功能有个人中心,用户管理,歌曲分类管理,歌曲信息管理,管理员管理,系统管理等。用户可以注册登录,试听歌曲,可以下载歌曲。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、......
  • 基于java+springboot+vue实现的校园社团管理平台(文末源码+Lw)101
     本校园社团信息管理系统功能有个人中心,学生管理,社长管理,社团分类管理,社团信息管理,加入社团管理,社团成员管理,社团活动管理,活动报名管理,系统管理等。社长添加社团,管理员审核社团,学生加入社团,社长审核社团。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MY......
  • 基于springboot+vue实现的大型商场应急预案管理系统(文末源码+Lw)099
    本大型商场应急预案管理系统管理员功能有个人中心,员工管理,预案信息管理,预案类型管理,事件类型管理,预案类型统计管理,事件类型统计管理,应急预案管理。员工可以查看各种预案信息。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系......
  • 基于java+springboot+vue实现的音乐网站(文末源码+Lw)102
     功能介绍:本音乐网站管理员功能有个人中心,用户管理,歌曲分类管理,歌曲信息管理,管理员管理,系统管理等。用户可以注册登录,试听歌曲,可以下载歌曲。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、......
  • 基于java+springboot+vue实现的校园社团管理平台(文末源码+Lw)101
     本校园社团信息管理系统功能有个人中心,学生管理,社长管理,社团分类管理,社团信息管理,加入社团管理,社团成员管理,社团活动管理,活动报名管理,系统管理等。社长添加社团,管理员审核社团,学生加入社团,社长审核社团。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MY......
  • 基于springboot+vue实现的大型商场应急预案管理系统(文末源码+Lw)099
    本大型商场应急预案管理系统管理员功能有个人中心,员工管理,预案信息管理,预案类型管理,事件类型管理,预案类型统计管理,事件类型统计管理,应急预案管理。员工可以查看各种预案信息。因而具有一定的实用性。本站是一个B/S模式系统,采用SpringBoot框架,MYSQL数据库设计开发,充分保证系......
  • Springboot - [12] Question & Answer
    题记部分 一、PublicKeyRetrievalisnotallowed百度翻译:不允许进行公钥检索(1)报错信息java.sql.SQLNonTransientConnectionException:PublicKeyRetrievalisnotallowed atcom.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)~[mys......
  • idea springboot 如何支持数据库配置 redis配置 支持不同环境(uat验证环境、测试环境)切
    在SpringBoot中,可以通过配置文件来支持数据库和Redis的配置,并支持不同环境的切换。以下是一些常用的方法:创建配置文件:在src/main/resources目录下创建以下配置文件:application.properties:通用配置文件application-uat.properties:uat验证环境配置文件application-test.prope......