- MyBatisPlus简介
- 开始
- 建表&插入数据
- 创建项目
- 导入配置
- 配置驱动
- 编码
- 测试
- 总结
昨天完了一下子Mybatis体验下来就两个字,垃圾,安全性低(当然这里也看开发者的水平)。所以如果在实际的开发当中如果完全使用mybatis是不可能的。那么这里就引入了MyBatisPlus那么此时这里就和Django-ORM有点相似了,这玩意可以支持面对对象的数据库操作,实现基本的增删查改,和ORM一样也提供了自定义的Sql方式。所以这里我直接上plus而不去使用原来的。同理在后面的学习当中我的路线将是MybatisPlus Spring SpringBoot 从这三个开始。
开始这边我们直接使用官方给我们的例子。
建表&插入数据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');创建项目
我们这里直接创建SpringBoot项目(这边官方也是有说明的)使用IDEA
导入配置
mysql
mysql-connector-java
org.projectlombok
lombok
com.baomidou
mybatis-plus-boot-starter
3.0.5
配置驱动
这里的mysql 5.7x 和 mysql8的配置略有不同
5.7x
# mysql 5 spring.datasource.username=Huterox spring.datasource.password=865989840 spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=utf-8 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
8
需要添加时区并且驱动也不一样
spring.datasource.username=Huterox spring.datasource.password=865989840 spring.datasource.url=jdbc:mysql://localhost:3306/mybatisplus?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GTM%2B8 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
com.mysql.cj.jdbc.Driver这个驱动也可以驱动5.7x,我们就用这个两个版本都是 com.mysql.jdbc.Driver 太老了会报警告编码
这一块还是老规矩了,创建实体类。
package com.huterox.springbootdome1.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的配置文件了。
我们让我们的Mapper去继承一个baseMapper这玩意把基本的功能全都做好了。
package com.huterox.springbootdome1.Mapper; import com.baomidou.mybatisplus.core.mapper.baseMapper; import com.huterox.springbootdome1.pojo.User; import org.springframework.stereotype.Repository; @Repository //持久层springboot的 public interface UserMapper extends baseMapper测试{ }
先注解一下
进入测试
package com.huterox.springbootdome1;
import com.huterox.springbootdome1.Mapper.UserMapper;
import com.huterox.springbootdome1.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 SpringBootDome1ApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
List users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
总结
舒服,减去了很多没必要的零散工作,如果有特殊需要的话我们依然可以自定义用老方式。



