首页 > 其他分享 >02- 快速入门MybatisPlus

02- 快速入门MybatisPlus

时间:2022-10-19 23:38:59浏览次数:76  
标签:02 MybatisPlus 入门 yefeng boot baomidou org import com

创建表

现有一张 User 表,其表结构如下:

id name age email
1 Jone 18 [email protected]
2 Jack 20 [email protected]
3 Tom 28 [email protected]
4 Sandy 21 [email protected]
5 Billie 24 [email protected]

其对应的数据库 Schema 脚本如下:

CREATE TABLE user
(
    id BIGINT(20) NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT(11) NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);


INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');

初始化工程

创建一个空的 Spring Boot 工程

添加依赖

导入Pom配置文件

 <dependencies>
    <!--1.数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <!--2.lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!--3.mybatis-plus  版本很重要3.0.5-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.0.5</version>
    </dependency>
    <!--4.h2-->
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
 </dependencies>

连接数据库配置

# 连接数据库
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
    driver-class-name: com.mysql.cj.jdbc.Driver
  
# 设置端口号
server:
  port: 9090

编写实体类

package com.yefeng.entity;

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

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

编写实体类对应的mapper接口

package com.yefeng.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yefeng.entity.User;
import org.springframework.stereotype.Repository;

//在对应的接口上面继承一个基本的接口 BaseMapper
@Repository//代表持久层
public interface UserMapper extends BaseMapper<User> {
    //所有CRUD操作都编写完成了,不用像以前一样配置一大堆文件
}

在主启动类添加@MapperScan注解

package com.yefeng;

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

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

进行Test测试

package com.yefeng;

import com.yefeng.entity.User;
import com.yefeng.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class MybaitsPlusApplicationTests {
     //继承了BaseMapper,所有的方法都来自父类,我们也可以编写自己的扩展方法!
	@Autowired
	private UserMapper userMapper;
	@Test
	void contextLoads() {
        //参数是一个wrapper ,条件构造器,这里我们先不用 null
		List<User> users = userMapper.selectList(null);//查询全部的用户
		for (User user : users) {
			System.out.println(user);
		}
	}

}
	

结果

RGJDS_80)V$3Q$0YZ22L7.png

标签:02,MybatisPlus,入门,yefeng,boot,baomidou,org,import,com
From: https://www.cnblogs.com/lengyingmofeng/p/16808211.html

相关文章

  • 2022/10/19 考试
    tmd,又开始写这种东西了。可是感觉不写之后又找不到。可一写的话绝对就是我考爆了,真丢人/kk比赛链接T2金银变换Description给出两个长度为\(n\)的序列A,B以及整数......
  • 20221019
    20221019每日一遍,清醒一点......
  • SpringBoot+MybatisPlus--使用
    1、在entity包下面创建数据实体类,添加注解@Data,如果和数据库名字不一样的话,还需要+@TableField注解。字段名字不一样也需要添加此注解@TableName(value="user")publi......
  • 魔道书字典炼金入门
    高级用法魔道书字典炼金入门基于AUTOMATIC1111(https://github.com/AUTOMATIC1111)/stable-diffusion-webuiAttention/emphasis注意/强调使用()在提示中增加模型对内......
  • 爱上开源之golang入门至实战第四章函数(Func)(八)
    爱上开源之golang入门至实战第四章函数(Func)(八)4.4.8函数作为返回值在go语言里,func本质上是一个类型关键字。使用func来进行声明,本质上就是什么了一个func的对象。对象......
  • 2022-10-19 mysql 查询中found_rows没有返回正确的总数据量 limit
    查询语句中使用了limit来进行分页,本打算是1页返回10行数据,满足条件的数据有15条,使用了limit后再用found_rows查总符合数据,却只得到了10条,而不是15条,证明查询语句不严谨。......
  • SpringBoot+MybatisPlus--文件上传
    文件上传时,对页面的form表单有如下要求: 采用post方式提交数据   method="post"采用multipart格式上传文件  enctype="multipart/form-data"使用inp......
  • 版本控制概述(Git入门)
    简介版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了记录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本......
  • 2022年10月19日
       踏踏实实,脚踏实地,一步一个脚印,慢慢变好,惊艳自己;做自己的摆渡人,自己是自己最大的贵人,自己是自己最强大的人脉;人的潜力无限;强者自愈;  境由心转,心态好了,一切顺顺......
  • “烦人的催人精”-强有力的推动者(中)(2022年10月8日-10月14日)
        项目排期细节要不要公开?公开以后是仅供参考还是人人是项目经理?非链路延期要不要同步?延期细节要不要事事俱到?事外人轻松发言,局内人如何应对?......    ......