地址:快速开始 | MyBatis-Plus (baomidou.com)
使用第三方组件:
1,导入对应依赖
2,研究依赖如何配置
3,代码如何编写
4,提高扩展技术能力!
步骤
1,创建数据库 mybatis_plus
2,创建user表
DROP TABLE IF EXISTS user;
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)
);
DELETE FROM user;
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');
-- 真实开发中,version(乐观锁),deleted(逻辑删除),gmt_create(创建时间),gmt_modified()
3,编写项目,初始化项目!使用SpringBoot初始化。
4,导入依赖
<!--数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
说明:我们使用mybatis-plus可以节省我们大量的代码,尽量不要同时导入mybatis和mybatis-plus!版本差异!
5,连接数据库!这一步和mybatis相同!
#8版本
spring.datasource.username=root
spring.datasource.password=cDKqQoIdugNS
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
6,传统方式pojo-dao(mybatis,配置mapper.xml文件)-service-controlleer
6,使用了mybatis-plus之后
pojo
package com.example.mybatisplus.pojo;
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.example.mybatisplus.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.mybatisplus.pojo.User;
import org.springframework.stereotype.Repository;
//在对应的Mapper上面继承基本接口 BaseMapper
@Repository//代表持久层
public interface UserMapper extends BaseMapper<User> {
//所有的CRUD操作已经完成
//不需要像以前一样配置一大堆文件
}
-
注意点,我们需要在主启动类上去扫描我们mapper包下的所有接口
@MapperScan("com.example.mybatisplus.mapper")
-
测试中测试
package com.example.mybatisplus;
import com.example.mybatisplus.mapper.UserMapper;
import com.example.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
class MybatisPlusApplicationTests {
//继承了BaseMapper,所有的方法都来自父类,我们也可以自己来编写
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
//查询全部用户
//参数是一个wrapper,条件构造器,这里我们先不用 null
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
-
结果
-
User(id=1, name=Jone, age=18, email=test1@baomidou.com) User(id=2, name=Jack, age=20, email=test2@baomidou.com) User(id=3, name=Tom, age=28, email=test3@baomidou.com) User(id=4, name=Sandy, age=21, email=test4@baomidou.com) User(id=5, name=Billie, age=24, email=test5@baomidou.com)
思考问题?
1,sql谁帮我们写的 ?mybatis-plus都写好了
2,方法哪里来的?mybatis-plus都写好了