02- 快速入门MybatisPlus
2024-10-21 06:22:13
创建表
现有一张 User 表,其表结构如下:
id | name | age | |
---|---|---|---|
1 | Jone | 18 | test1@baomidou.com |
2 | Jack | 20 | test2@baomidou.com |
3 | Tom | 28 | test3@baomidou.com |
4 | Sandy | 21 | test4@baomidou.com |
5 | Billie | 24 | test5@baomidou.com |
其对应的数据库 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, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');
初始化工程
创建一个空的 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);
}
}
}
结果
最新文章
- web兼容学习分析笔记--块级、内联、内联块级元素
- 4 django系列之HTML通过form标签来同时提交表单内容与上传文件
- C++复制对象时勿忘每一部分
- iOS关于rar解压第三方库Unrar4iOS使用总结
- 黑马程序员——JAVA基础之泛型和通配符
- 抛砖引玉:关于Android的ListView中CheckBox错乱
- Java类加载器加载类顺序
- SPRING IN ACTION 第4版笔记-第四章ASPECT-ORIENTED SPRING-006-定义切面使用xml
- SQLServer查看和解决死锁的方法
- Fibinary Numbers
- qppium 原理解析
- Android自定义评分控件:RatingStarView
- servlet请求和响应的过程
- Linux下运行jmeter
- 着色器语言 GLSL (opengl-shader-language)入门大全
- manytomany django 正查, 反查
- oracle 存储过程、游标参考实例
- PostgreSQL(一)教程 -----SQL语言
- Linux创建系统用户
- 西安Uber优步司机奖励政策(12月21日-12.27日)
热门文章
- 关于aws-Lambda的cron周期性计划任务-表达式的定义方式
- Codeforces Round #709 Div2
- POJ1734 Sightseeing trip (Floyd求最小环)
- 分支结构中的if-else(条件判断结构)
- uoj131【NOI2015】品酒大会
- 云计算_OpenStack
- Silky微服务框架之服务引擎
- Visual Studio(VS)修改C语言scanf等报错
- Codeforces Round #809 (Div. 2)C.Qpwoeirut And The City
- 浅谈HTTP缓存与CDN缓存的那点事