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.配置
官方配置文档说的很清楚,
相信以大家的实力,
不需要我说太多,
只是这里给大家引个路,
下面以常见配置保存和修改字段配置空字符串的处理为例
先给出官方配置文件文档链接:
配置文档截图如下:
看上去虽然有点多,但是很多默认的就可以了.
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系统化学习之配置精讲的更多相关文章
- spring-security2配置精讲(转载)
本文转载自牛人downpour的帖子: http://www.iteye.com/topic/319965 Spring 论坛上看了不少Spring Security的相关文章.这些文章基本上都还是基 ...
- Keepalived原理与实战精讲--VRRP协议
. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...
- 《VC++ 6简明教程》即VC++ 6.0入门精讲 学习进度及笔记
VC++6.0入门→精讲 2013.06.09,目前,每一章的“自测题”和“小结”三个板块还没有看(备注:第一章的“实验”已经看完). 2013.06.16 第三章的“实验”.“自测题”.“小结”和“ ...
- 第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式
第三百三十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—Scrapy启动文件的配置—xpath表达式 我们自定义一个main.py来作为启动文件 main.py #!/usr/bin/en ...
- Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置
0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...
- WKWebView API精讲(OC)
WKWebView API精讲(OC) 前言 鉴于LL同志对笔者说:“能不能写个OC版本的WKWebView的使用教程?”,还积极打赏了30RMB,笔者又怎么好意思拒绝呢,于是才有了下文. 所有看到本 ...
- iOS CAShapeLayer精讲
前言 CAShapeLayer继承自CALayer,因此,可使用CALayer的所有属性.但是,CAShapeLayer需要和贝塞尔曲线配合使用才有意义. 关于UIBezierPath,请阅读文章:i ...
- Linux实战教学笔记12:linux三剑客之sed命令精讲
第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...
- Java数据持久层框架 MyBatis之API学习四(xml配置文件详解)
摘录网址: http://blog.csdn.net/u010107350/article/details/51292500 对于MyBatis的学习而言,最好去MyBatis的官方文档:http:/ ...
- Java数据持久层框架 MyBatis之API学习二(入门)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
随机推荐
- 一款.NET开源、功能强大、跨平台的绘图库 - OxyPlot
前言 今天大姚给大家分享一款.NET开源(MIT License).免费.跨平台.功能强大的绘图库,支持多平台使用(包括:WPF.UWP.WinForm.Silverlight.Xamarin.iOS ...
- SpringBoot+Selenium模拟用户操作浏览器
Selenium Selenium是一个用于Web应用程序自动化测试的开源工具套件.它主要用于以下目的: 浏览器自动化:Selenium能够模拟真实用户在不同浏览器(如Chrome.Firefox.I ...
- linux下安装oracle 11g(静默安装)
关闭selinux 关闭防火墙 检查安装依赖包 yum -y install binutils compat-libcap1 vsftpd gcc gcc-c++ glibc-devel glibc ...
- Caffe样例中mnist的文件之间逻辑分析
约定一下,Caffe运行样例时在终端中使用的所有命令,同时终端中的目录已经cd到Caffe之中(别告诉我一个Github项目你还没有make all就直接拿过来用了) sudo sh data/mni ...
- 【VMware vSAN】vSAN Data Protection Part 1:安装部署。
VMware vSAN 8 U3 中新引入了基于 vSAN ESA 的全新 vSAN Data Protection 功能,借助 vSAN Data Protection 功能,您可以使用在 vSAN ...
- WIN 11 共享设置
我的电脑 -> 管理 -> 用户 -> 解除 GUEST 禁用 gpedit.msc -> 计算机管理 -> 本地 -> 从网络上访问本机 -> 允许GUES ...
- 不是人家太装逼,而是我们太low
在一个社团的迎新的时候,每个人自我介绍.等到一个一身LV,爱马仕的女孩子自我介绍,说起爱好,她想了想说:喜欢跑车.然后很淡定的坐下了.很多同学你看我我看你,投以"炫富"的判断目光- ...
- npm install及其目录结构
npm install 安装包及其依赖.npm install: 默认情况下,安装package.json文件中列出的所有依赖.加-P或--production后,只安装dependencies列出的 ...
- Java FastJson解析json字符串
json转map Map<String, 实体类> titleMap=JSON.parseObject(JSON字符串, new TypeReference<HashMap<S ...
- 2022 开源之夏 | Curve 邀你与中国存储软件共成长,赢万元奖金
Curve 社区携手开源之夏,邀你开展有趣而精彩的开源之旅,直面社区大咖,积累项目经历,摘取丰厚奖金,共同推进我国基础软件自主创新 2022 年,Curve 社区再次加入系列高校开源活动 -- 开源之 ...