MyBatisPlus(环境搭建&初体验)
Posted HUTEROX
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatisPlus(环境搭建&初体验)相关的知识,希望对你有一定的参考价值。
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
导入配置
<!-- 数据库驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</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.0.5</version>
</dependency>
配置驱动
这里的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<User> {
}
测试
先注解一下
进入测试
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<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
}
}
总结
舒服,减去了很多没必要的零散工作,如果有特殊需要的话我们依然可以自定义用老方式。
以上是关于MyBatisPlus(环境搭建&初体验)的主要内容,如果未能解决你的问题,请参考以下文章