MybatisPlus——入门案例
Posted 风陵南
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MybatisPlus——入门案例相关的知识,希望对你有一定的参考价值。
MyBatisPlus
- MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率
- 开发方式
- 基于MyBatis使用MyBatisPlus
- 基于Spring使用MyBatisPlus
- 基于SpringBoot使用MyBatisPlus
- SpringBoot整合MyBatis开发过程(复习)
- 创建SpringBoot工程
- 勾选配置使用的技术
- 设置DataSource相关属性(JDBC参数)
- 定义数据层接口映射配置
- SpringBoot整合MyBatisPlus
- 创建新模块,选择Spring初始化,并配置模块相关基础信息(只需勾选MySQL的依赖项)
-
- 手动添加起步依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
-
- 设置JDBC参数(application.yml)
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatisplus_db
username: root
password: 1234
-
- 制作数据层实体类与表结构(user)
- 定义数据接口继承BaseMapper<User>
@Mapper
public interface UserDao extends BaseMapper<User>
-
- 测试类中注入dao,测试功能
@SpringBootTest
class Mybatisplus01QuickstartApplicationTests
@Autowired
private UserDao userDao;
@Test
void testUserDao()
System.out.println(userDao.selectList(null));
注意:
SpringBoot版本要使用2.5.0,否则会报无法注入UserDao错误
[MyBatisPlus]入门案例
入门案例
创建测试数据库和表
CREATE DATABASE `mybatis_plus` /*!40100 DEFAULT CHARACTER SET utf8mb4 */; use `mybatis_plus`;
CREATE TABLE `user`
( `id` bigint(20) NOT NULL COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年龄',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (`id`) )
ENGINE=InnoDB DEFAULT CHARSET=utf8;
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');
创建SpringBoot工程
引入依赖
<!-- mybatis plus 启动器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<!-- lombok用于简化实体类开发-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
idea中安装lombok插件
配置application.yml
spring:
# 配置数据源信息
datasource:
# 配置数据源类型
type: com.zaxxer.hikari.HikariDataSource
# 配置连接数据库的各个信息
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=UTC&&characterEncoding=utf- 8&useSSL=false
username: root
password: password
创建实体类
package com.xxxx.mybatisplus.pojo;
import lombok.*;
//@NoArgsConstructor
//@AllArgsConstructor
//@Getter
//@Setter
//@EqualsAndHashCode
@Data
public class User
// mybatis plus默认用雪花算法, id 会比较长
private Long id;
private String name;
private Integer age;
private String email;
添加mapper
package com.xxxx.mybatisplus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xxxx.mybatisplus.pojo.User;
// 将类或者接口标记为持久层组件 这样就不会看见test类中的红线警告了
@Repository
public interface UserMapper extends BaseMapper<User>
在启动类上添加注解扫描mapper
package com.xxxx.mybatisplus;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
// 扫描mapper接口所在的包
@MapperScan("com.xxxx.mybatisplus.mapper")
public class MybatisplusApplication
public static void main(String[] args)
SpringApplication.run(MybatisplusApplication.class, args);
测试
package com.xxxx.mybatisplus;
import com.xxxx.mybatisplus.mapper.UserMapper;
import com.xxxx.mybatisplus.pojo.User;
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
public class MyBatisPlusTest
@Autowired
private UserMapper userMapper;
@Test
public void testSelectList()
// 通过条件构造器查询一个list集合,若没有条件,则可以设置null为参数
List<User> list = userMapper.selectList(null);
list.forEach(System.out::println);
加入日志功能
加入配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
以上是关于MybatisPlus——入门案例的主要内容,如果未能解决你的问题,请参考以下文章