zoukankan      html  css  js  c++  java
  • mybatis-plus系统化学习之配置精讲

    1.背景

    mybatis-plus给出了很多配置,

    大部分的配置使用默认的就可以了,

    但是还是有很多需要的配置比如:

    # mybatis-plus相关配置
    mybatis-plus:
      # xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
      mapper-locations: classpath:mapper/*.xml
      # 以下配置均有默认值,可以不设置
      global-config:
        db-config:
          #主键类型 AUTO:"数据库ID自增" INPUT:"用户输入ID",ID_WORKER:"全局唯一ID (数字类型唯一ID)", UUID:"全局唯一ID UUID";
          id-type: auto
          #字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
          insertStrategy: NOT_EMPTY
          updateStrategy: NOT_EMPTY
      configuration:
        # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
        map-underscore-to-camel-case: true
        # 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
        call-setters-on-nulls: true
        # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

     这些配置完美通常是拷贝过来就是用,

    但是有时后也会做修改

    2.配置

    官方配置文档说的很清楚,

    相信以大家的实力,

    不需要我说太多,

    只是这里给大家引个路,

    下面以常见配置保存和修改字段配置空字符串的处理为例

    先给出官方配置文件文档链接:

    https://baomidou.com/config/

    配置文档截图如下:

     看上去虽然有点多,但是很多默认的就可以了.

    3.案例

     演示代码如下:

     1 package com.ldp.demo01;
     2 
     3 import com.ldp.entity.SysUser;
     4 import com.ldp.mapper.SysUserMapper;
     5 import org.junit.Test;
     6 import org.junit.runner.RunWith;
     7 import org.springframework.beans.factory.annotation.Autowired;
     8 import org.springframework.boot.test.context.SpringBootTest;
     9 import org.springframework.test.context.junit4.SpringRunner;
    10 
    11 /**
    12  * @author 姿势帝-博客园
    13  * @address https://www.cnblogs.com/newAndHui/
    14  * @WeChat 851298348
    15  * @create 12/07 12:23
    16  * @description <p>
    17  * 配置:
    18  * https://baomidou.com/config/
    19  * </p>
    20  */
    21 @RunWith(SpringRunner.class)
    22 @SpringBootTest
    23 public class Test09Config {
    24     @Autowired
    25     private SysUserMapper sysUserMapper;
    26 
    27     /**
    28      * 字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
    29      * insertStrategy: NOT_EMPTY
    30      * updateStrategy: NOT_EMPTY
    31      *
    32      * ==>  Preparing: INSERT INTO sys_user ( name, we_chat ) VALUES ( ?, ? )
    33      * ==> Parameters: 李东平3(String), 851298348(String)
    34      * <==    Updates: 1
    35      * 注意因为是非空判断,所以password没有加入到增加的sql语句中
    36      */
    37     @Test
    38     public void test01() {
    39         SysUser sysUser = new SysUser().setName("李东平3").setWeChat("851298348").setPassword("");
    40         int rows = sysUserMapper.insert(sysUser);
    41         System.out.println("受影响行数:" + rows);
    42         System.out.println("主键id=" + sysUser.getId());
    43     }
    44 
    45     /**
    46      * 字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"
    47      * insertStrategy: NOT_EMPTY
    48      * updateStrategy: NOT_EMPTY
    49      *
    50      * ==>  Preparing: UPDATE sys_user SET name=? WHERE id=?
    51      * ==> Parameters: 李东平3-修改(String), 22(Integer)
    52      * <==    Updates: 1
    53      * 注意因为是非空判断,所以weChat没有加入到修改的sql语句中
    54      */
    55     @Test
    56     public void test02() {
    57         SysUser sysUser = new SysUser().setId(22).setName("李东平3-修改").setWeChat("");
    58         int rows = sysUserMapper.updateById(sysUser);
    59         System.out.println("受影响行数:" + rows);
    60         System.out.println("主键id=" + sysUser.getId());
    61     }
    62 
    63 }
    View Code

    完美!

  • 相关阅读:
    windows下Yarn安装与使用(两种方法)
    git配置公钥---解决码云出现git@gitee.com: Permission denied (publickey)
    npm使用国内镜像的两种方法
    【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
    【LeetCode】83. Remove Duplicates from Sorted List
    【LeetCode】82. Remove Duplicates from Sorted List II
    【LeetCode】85. Maximal Rectangle
    【LeetCode】84. Largest Rectangle in Histogram
    【LeetCode】87. Scramble String
    【LeetCode】162. Find Peak Element (3 solutions)
  • 原文地址:https://www.cnblogs.com/newAndHui/p/14098173.html
Copyright © 2011-2022 走看看