Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查


创建实体类

添加表注解TableName和主键注解TableId

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import java.io.Serializable;
@TableName("t_article")
public class Article implements Serializable {
    @TableId(type = IdType.INPUT)
    private String id;
    private String title;

    ......
}


数据访问接口dao

继承BaseMapper接口,编写数据访问接口dao

public interface ArticleDao extends BaseMapper<Article> {
}


基本的增删改查示例

@Service
public class ArticleService {
    @Autowired
    private ArticleDao articleDao;
    public List<Article> findAll() {
        return articleDao.selectList(null);
    }
    public Article findById(String id) {
        return articleDao.selectById(id);
    }

    public void add(Article article) {
        articleDao.insert(article);
    }

    public void update(Article article) {
        //根据id号更新
        //方法1
        articleDao.updateById(article);
   
        //方法2
        EntityWrapper wrapper = new EntityWrapper<Article>();
        wrapper.eq("id", article.getId());
        articleDao.update(article, wrapper);
    }

    public void delete(String id) {
        articleDao.deleteById(id);
    }
}


MyBatis-Plus条件与分页查询

条件查询

使用Mybatis Plus 提供的EntityWrapper对象封装where查询条件,例如以下使用方式:

EntityWrapper wrapper = new EntityWrapper<Article>();
wrapper.eq("id", article.getId());

//动态sql,例如<if test="null != field"> and field='xxx' </if>
wrapper.eq(null != map.get(field), field, map.get(field));


分页

使用 Mybatis Plus 提供的Page对象

向Mybatis Plus中注入PaginationInterceptor插件

新建config包,创建MybatisPlusConfig对象,添加下面的代码

@Configuration
public class MybatisPlusConfig {

    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

完整代码

public Page search(Map map, int page, int size) {
    EntityWrapper wrapper = new EntityWrapper<Article>();
    Set<String> fieldSet = map.keySet();
    for(String field : fieldSet) {
        //wrapper.eq(field, map.get(field));
        wrapper.eq(null != map.get(field), field, map.get(field));
    }

    Page page1 = new Page(page, size);
    List list = articleDao.selectPage(page1, wrapper);
    page1.setRecords(list);
    return page1;
}


本文转自网络


2020-10-03 10:45

相关知识点

开源项目

知识点

相关教程

更多

Spring boot整合mybatis plus

快速了解mybatis plus 是对Mybatis框架的二次封装和扩展 纯正血统:完全继承原生 Mybatis 的所有特性 最少依赖:仅仅依赖Mybatis以及Mybatis-Spring 性能损耗小:启动即会自动注入基本CURD ,性能无损耗,直接面向对象操作 自动热加载:Mapper对应的xml可以热加载,大大减少重启Web服务器时间,提升开发效率 性能分析:自带Sql性能分析插件,开发测试

Mongodb与spring集成(3)------MongoRepository实现增删改查和复杂查询

与HibernateRepository类似,通过继承MongoRepository接口,我们可以非常方便地实现对一个对象的增删改查,要使用Repository的功能,先继承MongoRepository<T, TD>接口,其中T为仓库保存的bean类,TD为该bean的唯一标识的类型,一般为ObjectId。之后在service中注入该接口就可以使用,无需实现里面的方法,spring

spring boot 整合 ueditor 教程一

56463.com全面切到springboot,同时把ueditor 也升级到最新的ueditor1_4_3_3,在spring boot 整合 ueditor 过程分享一下。一、获取ueditor1_4_3_31、官网httpueditor.baidu.com/website/index.html2、github地址httpsgithub.com/fex-team/ueditor

spring boot 整合 ueditor 教程二:使用springmvc替换controller.jsp

下载ueditor1_4_3_3里有一个jsp的文件夹,那是官方提供的java 工具类,有一个lib目录、config.json和controller.jsplib目录是官方提供实力需要的jar包,我们已经使用maven替换,具体见httpwww.56463.com/springboot/bAVBNj.htmconfig.json是ueditor的配置文件

MyBatis-Spring整合Spring Batch


                            

MyBatis-Spring简介


                            

什么是Spring boot

什么是Spring boot? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 Spring Boot特性 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5.

MyBatis-Spring入门


                            

ElasticSearch入门-增删改查(CRUD)

ElasticSearch(名称太长,后面简称ES)作为一个搜索引擎,目前可谓是如日中天,几乎和solr齐驾并驱。关于他能做什么,跟云计算有什么关系,在此不再描述。但是ES的官方文档,特别是关于java的客户端文档,真是少的可怜,甚至连个完整的增删改的示例都没有。在此,我就献丑了。 在开始讲解之前,还是先做个铺垫,为了能够有一个可以索引的模型,我们自定义了一个模型,暂时起个名称叫LogModel吧

Spring Boot使用FastJson解析JSON数据

Spring Boot默认使用jackson,国内很多人比较习惯用fastjson。所以我们看一下怎么在spring boot 中使用fastjson

redis整合spring示例一

这里使用java操作redis的示例,也是领悟书生网站项目中使用的代码.当然本示例也是参考网上的相关文章做了相应的改动。 首先看看redis所依懒的maven包     redis.clients    jedis    <

使用solrj 对solr进行增删改查操作

使用java调用solr有两种方式  1、使用httpClient对象直接语句solr对外提供的rest接口,接收到的数据再进行解析。  2、使用solr提供的java客户端api,推荐这种方式 创建索引    第一种添加方式,通过添加Field创建索引文档   使用addField添加索引域,然后通过add(document)添加索引文档   package com._656464.solr.t

4、solr的增删改查和高亮以及分组

代码如下: package com.hj.solr;import org.apache.solr.client.solrj.beans.Field;/** * 在变量的set方法上注解上lucene内部的字段名称 */public class Message { private String id; private String title; private String content[];

JPA 增删改查入门示例

它记录在 persistence.xml 文件数据库中并创建数据库

MyBatis-Spring SqlSessionFactoryBean 创建session


                            

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案

Spring boot整合mybatis plus

快速了解mybatis plus 是对Mybatis框架的二次封装和扩展 纯正血统:完全继承原生 Mybatis 的所有特性 最少依赖:仅仅依赖Mybatis以及Mybatis-Spring 性能损耗小:启动即会自动注入基本CURD ,性能无损耗,直接面向对象操作 自动热加载:Mapper对应的xml可以热加载,大大减少重启Web服务器时间,提升开发效率 性能分析:自带Sql性能分析插件,开发测试