必须是springboot工程

在pom.xml中添加

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatis-plus-boot-starter</artifactId>
  4. <version>3.2.0</version>
  5. </dependency>

配置application.yml

  1. # DataSource Config
  2. spring:
  3. datasource:
  4. driver-class-name: org.h2.Driver
  5. schema: classpath:db/schema-h2.sql
  6. data: classpath:db/data-h2.sql
  7. url: jdbc:h2:mem:test
  8. username: root
  9. password: test

Mapper

写一个接口继承BaseMapper

  1. public interface CategoryMapper extends BaseMapper<Category> {
  2. }

对数据库操作

insert 插入数据

注意:类名、表名、类属性名、列名 尽量都小写比如"username"和数据库表列名"username"(mysql数据库不区分大小写)可以刚好对应上,如果你用"userName",那么数据库列名就要是"user_name"。

  1. categoryMapper.insert(category);

update更新数据

1.自定义更新

  1. public void updWrap() {
  2. User user=new User();
  3. user.setAddress("广州");
  4. user.setAge(23);
  5. userMapper.update(user,new UpdateWrapper<User>().eq("name_","a").or().eq("name_","b"));
  6. }

2.按id进行更新

  1. public void upd() {
  2. User user=new User();
  3. user.setId(10086);
  4. user.setName("lll");
  5. user.setAge(23);
  6. userMapper.updateById(user);
  7. }

select 查询操作

1.全部查询(select * from category)

  1. List<Category> categories = categoryMapper.selectList(null);

2.按条件查询(select * from category where flag=1)

  1. QueryWrapper queryWrapper1=new QueryWrapper();
  2. queryWrapper1.eq("flag",1);
  3. categories = categoryMapper.selectList(queryWrapper1);

3.按范围查询(select * from category where id between 0 and 500)

  1. QueryWrapper queryWrapper1=new QueryWrapper();
  2. queryWrapper1.between("id",0,500);
  3. categories = categoryMapper.selectList(queryWrapper1);

4.limit限制数量查询(select * from category limit 0,10)

limit “起始位置”,“条数”

例如 limit 2,5意思是从第3行开始取共5行数据

  1. QueryWrapper<Product> queryWrapper=new QueryWrapper<>();
  2. String sql="limit "+start+",10";
  3. queryWrapper.last(sql);
  4. //从"start"开始。查询"10"条
  5. products = productMapper.selectList(queryWrapper);

删除操作

删除操作我没有使用过,别人博客:

设置逻辑删除

  1. mybatis-plus:
  2. mapper-locations: classpath:/mapper/**/*.xml
  3. global-config:
  4. refresh: true # 刷新xml文件
  5. db-config:
  6. logic-delete-value: 1 #默认值1
  7. logic-not-delete-value: 0 #默认值0

这里指定逻辑删除 删除标记 为1 表示删除 为0 表示正常

  1. userMapper.deleteById(10086);

【Mybatis plus 3.2】怎么操作?看看我!(update、limit、between)的更多相关文章

  1. MyBatis 对数据库进行CRUD操作

    1.update修改 uodate修改也可以使用之前的机制在配置文件中直接编写sql 但是update语句的set字句中是根据传入的值决定的, 此时可以通过Mybatis提供的标签实现判断动态拼接up ...

  2. mybatis升级案例之CRUD操作

    mybatis升级案例之CRUD操作 一.准备工作 1.新建maven工程,和入门案例一样 主要步骤如下,可参考mybatis入门实例 a.配置pom.xml文件 b.新建实例类User.DAO接口类 ...

  3. Mybatis高级:Mybatis注解开发单表操作,Mybatis注解开发多表操作,构建sql语句,综合案例学生管理系统使用接口注解方式优化

    知识点梳理 课堂讲义 一.Mybatis注解开发单表操作 *** 1.1 MyBatis的常用注解 之前我们在Mapper映射文件中编写的sql语句已经各种配置,其实是比较麻烦的 而这几年来注解开发越 ...

  4. 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作

    一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...

  5. MyBatis魔法堂:Insert操作详解(返回主键、批量插入)

    一.前言    数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅. 二. insert元素 属性详解   其属性如下: parameterType  ...

  6. MyBatis魔法堂:各数据库的批量Update操作

    一.前言   MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了.本篇仅记录批量update操作的sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了. ...

  7. MyBatis魔法堂:Insert操作详解

    一.前言 数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅. 二. insert元素 属性详解 其属性如下: parameterType:入参的全限 ...

  8. 使用Mybatis进行多表联查操作

    (1)增加一个测试数据库shop_order,sql语句如下: CREATE DATABASE `shop_order`; USE `shop_order`; CREATE TABLE `t_user ...

  9. 基于Spring和Mybatis拦截器实现数据库操作读写分离

    首先需要配置好数据库的主从同步: 上一篇文章中有写到:https://www.cnblogs.com/xuyiqing/p/10647133.html 为什么要进行读写分离呢? 通常的Web应用大多数 ...

  10. MyBatis批量增删改查操作

      前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...

随机推荐

  1. GroupJoin()各参数的意义及用法

    EF Core中GroupJoin的注释比较复杂: public static IEnumerable<TResult> GroupJoin<TOuter, TInner, TKey ...

  2. Coursera课程笔记----计算导论与C语言基础----Week 1

    计算机的基本原理(Week 1) 第一次数学危机 公元前500年,毕达哥拉斯学派,他们相信数是万物的本源:一切数均可表示成整数或者整数之比 然而毕达哥拉斯证明了勾股定理,某些直角三角形的三边比不能用整 ...

  3. 装完B就跑,这几个Linux指令真的Diǎo

    本文介绍一些有趣的指令,实用或者可以装逼,不妨自己也来试试看: 文章目录 1 故事的开局 2 杰哥的表演 2.1 sl 2.2 htop 2.3 gcp 2.4 hollywood 2.5 cmatr ...

  4. Jekyll 解决Jekyll server本地预览文章not found的问题

    layout: post tags: [Jekyll] comments: true 执行Jekyll本地浏览器预览指令 bundle exec jekyll serve 进入浏览器输入127.0.0 ...

  5. 介绍一个船新的 PHP SDK + Runtime: PeachPie

    前言 这几天想基于 .NET Core 搞一个自己的博客网站,于是在网上搜刮各种博客引擎,找到了这些候选:Blogifier.Miniblog 以及 edi 写的 Moonglate. Blogifi ...

  6. IDEA快捷键(windows)

    Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ ...

  7. MySQL 入门(5):复制

    摘要 在这篇文章中,我将从MySQL为什么需要主从复制开始讲起,然后会提到MySQL复制的前提,bin log. 在这里会说明三种格式的bin log分别会有什么优缺点. 随后会讲到主从延迟方面的问题 ...

  8. Abp领域事件(EventBus)源码解析

    Abp中使用EventBus来解耦领域中的业务逻辑,也是订阅-发布模式的一种实现.简单来说就是,当我触发一个事件,注册了这个事件的处理器就会被找到并执行. 先看看整体代码结构 其中Entities文件 ...

  9. linux -- 一般使用经验(四)

    一.使用grep进行条件筛选(主要为日志) 1.grep  -E '条件1|条件2|条件3'   文件名 (cat -n 文件.log |grep -E '2020-01-16 15:24:48|条件 ...

  10. dede列表页限制标题长度

    {dede:list pagesize ='10' titlelen="45"} <li><a href="[field:arcurl/]"& ...