【Mybatis plus 3.2】怎么操作?看看我!(update、limit、between)
必须是springboot工程
在pom.xml中添加
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
配置application.yml
# DataSource Config
spring:
datasource:
driver-class-name: org.h2.Driver
schema: classpath:db/schema-h2.sql
data: classpath:db/data-h2.sql
url: jdbc:h2:mem:test
username: root
password: test
Mapper
写一个接口继承BaseMapper
public interface CategoryMapper extends BaseMapper<Category> {
}
对数据库操作
insert 插入数据
注意:类名、表名、类属性名、列名 尽量都小写比如"username"和数据库表列名"username"(mysql数据库不区分大小写)可以刚好对应上,如果你用"userName",那么数据库列名就要是"user_name"。
categoryMapper.insert(category);
update更新数据
1.自定义更新
public void updWrap() {
User user=new User();
user.setAddress("广州");
user.setAge(23);
userMapper.update(user,new UpdateWrapper<User>().eq("name_","a").or().eq("name_","b"));
}
2.按id进行更新
public void upd() {
User user=new User();
user.setId(10086);
user.setName("lll");
user.setAge(23);
userMapper.updateById(user);
}
select 查询操作
1.全部查询(select * from category)
List<Category> categories = categoryMapper.selectList(null);
2.按条件查询(select * from category where flag=1)
QueryWrapper queryWrapper1=new QueryWrapper();
queryWrapper1.eq("flag",1);
categories = categoryMapper.selectList(queryWrapper1);
3.按范围查询(select * from category where id between 0 and 500)
QueryWrapper queryWrapper1=new QueryWrapper();
queryWrapper1.between("id",0,500);
categories = categoryMapper.selectList(queryWrapper1);
4.limit限制数量查询(select * from category limit 0,10)
limit “起始位置”,“条数”
例如 limit 2,5意思是从第3行开始取共5行数据
QueryWrapper<Product> queryWrapper=new QueryWrapper<>();
String sql="limit "+start+",10";
queryWrapper.last(sql);
//从"start"开始。查询"10"条
products = productMapper.selectList(queryWrapper);
删除操作
删除操作我没有使用过,别人博客:
设置逻辑删除
mybatis-plus:
mapper-locations: classpath:/mapper/**/*.xml
global-config:
refresh: true # 刷新xml文件
db-config:
logic-delete-value: 1 #默认值1
logic-not-delete-value: 0 #默认值0
这里指定逻辑删除 删除标记 为1 表示删除 为0 表示正常
userMapper.deleteById(10086);
【Mybatis plus 3.2】怎么操作?看看我!(update、limit、between)的更多相关文章
- MyBatis 对数据库进行CRUD操作
1.update修改 uodate修改也可以使用之前的机制在配置文件中直接编写sql 但是update语句的set字句中是根据传入的值决定的, 此时可以通过Mybatis提供的标签实现判断动态拼接up ...
- mybatis升级案例之CRUD操作
mybatis升级案例之CRUD操作 一.准备工作 1.新建maven工程,和入门案例一样 主要步骤如下,可参考mybatis入门实例 a.配置pom.xml文件 b.新建实例类User.DAO接口类 ...
- Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化
知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...
- 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作
一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...
- MyBatis魔法堂:Insert操作详解(返回主键、批量插入)
一.前言 数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅. 二. insert元素 属性详解 其属性如下: parameterType ...
- MyBatis魔法堂:各数据库的批量Update操作
一.前言 MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了.本篇仅记录批量update操作的sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了. ...
- MyBatis魔法堂:Insert操作详解
一.前言 数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅. 二. insert元素 属性详解 其属性如下: parameterType:入参的全限 ...
- 使用Mybatis进行多表联查操作
(1)增加一个测试数据库shop_order,sql语句如下: CREATE DATABASE `shop_order`; USE `shop_order`; CREATE TABLE `t_user ...
- 基于Spring和Mybatis拦截器实现数据库操作读写分离
首先需要配置好数据库的主从同步: 上一篇文章中有写到:https://www.cnblogs.com/xuyiqing/p/10647133.html 为什么要进行读写分离呢? 通常的Web应用大多数 ...
- MyBatis批量增删改查操作
前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...
随机推荐
- Cordova 浅析架构的原理
因为项目使用了Cordova,也使用了很长时间.至于有很多hybride框架,为什么我们使用Cordova,这里不做过多的叙述,我们也是根据项目需求来选定的,需要及时更新.还要输出别人SDK等.没有最 ...
- 如何发挥Visual Studio 2019强大的编辑功能轻松编辑Keil项目
本文地址:https://www.cnblogs.com/jqdy/p/12565161.html 习惯了VS的强大编辑功能,对Keil 5越来越深恶痛绝.查阅网络文章后按图索骥初步实现了VS编辑Ke ...
- GUI_DOWNLOAD 下载乱码
状况: 开发者打开正常,跨公司或跨企业打开异常. 跨App上传格式异常. 解决上述问题步骤: 1.用浏览器或可改变文件编码格式切换的软件打开文件(其他app上传正常文档格式,或跨公司打开正常文件)查看 ...
- quartus ii FFT核使用
quartus ii FFT核使用 导入自己程序自带的txt文件,写出控制模块 时序图 FFT核文件给出的时序图输入 仿真时序图 1024个采样点数,输入结束 fft数据输出 2.代码 `timesc ...
- [CodeForces 300D Painting Square]DP
http://codeforces.com/problemset/problem/300/D 题意:每一次操作可以选一个正方形,令边长为n,如果n为奇数那么可以从中间画一个十字,分成4个大小相等的边长 ...
- PMS学习
一,PMS的adb相关重要指令 1,adb shell dumpsys package(dump所有的系统内apk信息) 2,adb shell dumpsys package “com.androi ...
- 【比赛随笔】2020.4.25NOIonline2
之前许多比赛没有统一记录,可能从这次开始会认真打比赛的博客了. p.s.这里的数据是洛谷上的民间数据. T1 涂色游戏 这题据说是cf的原题,不过作为蒟蒻的我,没有打过. 题目链接在这里 题意分析 这 ...
- centos6下filebeat多开问题
centos6下filebeat多开问题 0. 场景 比如之前在用filebeat做收集,但是想新开一个实例把之前的日志全部重新导一遍,如果直接指定filebeat -c 是不行的,因为filebea ...
- 【雕爷学编程】Arduino动手做(54)---大按键点动模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(23)——矩形脉冲发生器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...