2.MybatisPlus 基本使用

1.使用mybatisPlus通用Mapper方法新增方法

1.1.在配置文件中增加日志输出
server:
  port: 8088

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/MP?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
    username: root
    password: 123456

logging:
  level:
    root: warn
    com.mp.dao: trace
  pattern:
    console: '%p%m%n'
1.2.在实体类上添加链式调用注解
package com.mp.entity;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @Description 实体类
 * @Author LL
 * @Date 2020-03-22 12:22
 */
@Data
@Accessors(chain = true)//链式调用
public class User {
    private Long id;//主键
    private String name;//姓名
    private Integer age;//年龄
    private String email;//邮箱
    private Long managerId;//上级id
    private LocalDateTime createTime;//创建时间
}
1.3.测试类中添加测试方法
package com.mp;

import com.mp.dao.UserMapper;
import com.mp.entity.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Description 测试类
 * @Author LL
 * @Date 2020-03-22 12:35
 */
@SpringBootTest
@RunWith(SpringRunner.class)
public class SimpleTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void select(){
        List<User> users = userMapper.selectList(null);
        users.forEach(System.out::println);
    }

    @Test
    public void insert(){
        User user = new User()
                .setName("张三")
                .setAge(31)
                .setManagerId(1088248166370832385L)
                .setEmail("zhangsan@baomidou.com")
                .setCreateTime(LocalDateTime.now());
        int res = userMapper.insert(user);
        System.out.println("影响记录数:"+res);
    }

}
1.4.测试

2.常用注解

1.在新增数据过程中主键id的值MybatisPlus会更具雪花算法自动添加;
2.表中的 manager_id、create_time字段,会根据驼峰命名识别为managerId、createTime;
3.数据表名称和实体类名称一致则会自动识别,如果不一致则在实体类上使用@TableName("表名称")注解;
4.如果主键id不为id字段则默认不识别,需添加@TableId注解指明;
5.如果表中的字段名称与实体类中的不对应,可以使用@TableField("表中字段名称")注解指定对应关系;

package com.mp.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @Description 实体类
 * @Author LL
 * @Date 2020-03-22 12:22
 */
@Data
@Accessors(chain = true)
@TableName("user")//指定表名称
public class User {

    @TableId//指明此字段为主键id
    private Long id;//主键

    @TableField("name")//指定字段名字与表中的对应关系
    private String realName;//姓名

    private Integer age;//年龄

    private String email;//邮箱

    private Long managerId;//上级id

    private LocalDateTime createTime;//创建时间

}

3.排除非表字段方式

不是表中的字段,而在实体类中有需要使用

1.在定义实体类字段时添加transient修饰,例如:

private transient String remark;//标识

注意:此方式在序列化下不能使用
2.在定义实体类字段时添加static修饰,例如:

private static String remark;//标识

3.使用@TableField(exist = false)表示不是数据库字段

package com.mp.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * @Description 实体类
 * @Author LL
 * @Date 2020-03-22 12:22
 */
@Data
@Accessors(chain = true)
@TableName("user")//指定表名称
public class User {

    @TableId//指明此字段为主键id
    private Long id;//主键

    @TableField("name")//指定字段名字与表中的对应关系
    private String realName;//姓名

    private Integer age;//年龄

    private String email;//邮箱

    private Long managerId;//上级id

    private LocalDateTime createTime;//创建时间

//    private transient String remark;//标识
//    private static String remark;//标识
    @TableField(exist = false)//表示不是数据库字段
    private String remark;//标识

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MybatisPlus简介 1.1.简介 Mybatis-Plus(简称MP)是一个 Mybatis 的增强工...
    Waldeinsamkeit4阅读 18,302评论 3 76
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,571评论 0 4
  • MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做...
    吃西瓜的的小青年阅读 10,361评论 0 0
  • 文|甜小姐 1 每年都有一段时间情绪陷入低潮,各种闹心的事情应接不暇,五脏六腑都被侵染上这种坏情绪,做什么事情都...
    甜小姐V阅读 888评论 0 3
  • 6. 林敬章与肖云飞在远东集团办公室一席话谈罢之后,林敬章主动要求观看肖云飞管辖的港口,这对肖云飞来说,简直是受宠...
    独壶九剑李紫超阅读 246,210评论 5 4