美文网首页mybatis-plus
2.MybatisPlus 基本使用

2.MybatisPlus 基本使用

作者: 神奇作手 | 来源:发表于2020-03-22 14:39 被阅读0次

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;//标识

}

相关文章

  • 2.MybatisPlus 基本使用

    1.使用mybatisPlus通用Mapper方法新增方法 1.1.在配置文件中增加日志输出 1.2.在实体类上添...

  • Flutter--Text/Container/Image

    Text基本使用 Container基本使用 Image基本使用

  • 基本使用

    1、 打开需要上传的文件夹执行: git init 格式化窗口 2、执行 git add . 上传文件 3、执行 ...

  • 基本使用

    href="javascript:;" 其中javascript: 是一个伪协议。它可以让我们通过一个链接来调用...

  • 基本使用

    数据库: 什么是数据库?简单来说就是存数据的。 都有什么是数据库? oracle(强大,跟金融政府打交道的,安全,...

  • 基本使用

    本文参考:https://morvanzhou.github.io/tutorials/machine-learn...

  • 6-xpath和css select基本使用

    Xpath基本使用 css select基本使用

  • MySQL语法入门(一)

    MySQL语法入门(一) 基本运算符使用 基本数学函数使用 基本字符串函数使用 基本日期时间函数使用

  • python time与datetime模块基本使用

    time模块基本使用 datetime模块基本使用

  • SQL语句基本使用

    SQL语句基本使用——增删改查 SQL语句基本使用——WHERE子句 SQL语句基本使用——AND和OR的使用 S...

网友评论

    本文标题:2.MybatisPlus 基本使用

    本文链接:https://www.haomeiwen.com/subject/iynmyhtx.html