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 }

mybatis-plus系统化学习教程:https://www.cnblogs.com/newAndHui/p/14141950.html

完美!

mybatis-plus系统化学习之配置精讲的更多相关文章

  1. spring-security2配置精讲(转载)

    本文转载自牛人downpour的帖子: http://www.iteye.com/topic/319965 Spring 论坛上看了不少Spring Security的相关文章.这些文章基本上都还是基 ...

  2. Keepalived原理与实战精讲--VRRP协议

    . 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  3. 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记

    VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...

  4. 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式

    第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/en ...

  5. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置

    0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...

  6. WKWebView API精讲(OC)

    WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本 ...

  7. iOS CAShapeLayer精讲

    前言 CAShapeLayer继承自CALayer,因此,可使用CALayer的所有属性.但是,CAShapeLayer需要和贝塞尔曲线配合使用才有意义. 关于UIBezierPath,请阅读文章:i ...

  8. Linux实战教学笔记12:linux三剑客之sed命令精讲

    第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...

  9. Java数据持久层框架 MyBatis之API学习四(xml配置文件详解)

    摘录网址: http://blog.csdn.net/u010107350/article/details/51292500 对于MyBatis的学习而言,最好去MyBatis的官方文档:http:/ ...

  10. Java数据持久层框架 MyBatis之API学习二(入门)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

随机推荐

  1. 【UnityTips】如何自定义脚本模版

    [UnityTips]如何自定义脚本模版 通常我们创建新脚本时大家看到的是这个样子: using System.Collections; using System.Collections.Generi ...

  2. Linux 增加 swap 分区

    检查当前swap分区 [root@localhost ~]# free -g total used free shared buffers cached Mem: 15 0 14 0 0 0 -/+ ...

  3. 天翼云centos7.6安装redis6.2.6

    以下部分的具体略: 1.wget获取源码 2.make 这里重点说下,如何使用 utils/install_server.sh脚本 使用install_service.sh添加服务 有了这个脚本,那么 ...

  4. 浮点数格式:FP64, FP32, FP16, BFLOAT16, TF32之间的相互区别

    浮点数格式 (参考1,参考2) 浮点数是一种用二进制表示的实数,它由三个部分组成:sign(符号位).exponent(指数位)和fraction(小数位).不同的浮点数格式有不同的位数分配给这三个部 ...

  5. Vim的移动大法

    Vim的移动大法 移动光标的按键 "h" 向左移动 "j"向下移动 "k"向上移动 "l"向右移动 在单词之间移动 注: ...

  6. python并发执行request请求

    在Python中,我们可以使用requests库来发送HTTP请求,并使用threading.multiprocessing.asyncio(配合aiohttp)或concurrent.futures ...

  7. AT_abc215F 题解

    考虑二分答案. 假设当前二分的答案为 \(k\),那么对于每个点,距离大于等于 \(k\) 的点构成了平面上 \(4\) 个子平面. 那么只需查询子平面中是否存在点即可,类似于窗口的星星,把问题转换成 ...

  8. yb课堂之高并发项目必备利器之分布式缓存和本地缓存 《十九》

    什么是缓存? 程序经常要调用的对象存储在内存中,方便其使用时可以快速调用,不必去数据库或者其他持久化设备中查询,主要就是提高性能 DNS.前端缓存.代理服务器缓存Nginx.应用程序缓存(本地缓存.分 ...

  9. java.net.UnknownHostException: api.weixin.qq.com解决办法

    java.net.UnknownHostException: api.weixin.qq.com at java.net.AbstractPlainSocketImpl.connect(Abstrac ...

  10. oeasy教您玩转vim - 005 - # 程序本质

    ​ 程序本质 回忆上次内容 py 的程序是按照顺序 一行行挨排解释执行的 我们可以 python3 -m pdb hello.py 来对程序调试 调试的目的是去除 bug 别害怕 bug bug 会有 ...