首页 > 数据库 >在 MyBatis Plus 中,使用 Map 来实现数据库操作

在 MyBatis Plus 中,使用 Map 来实现数据库操作

时间:2023-08-01 10:00:29浏览次数:38  
标签:Map Service Autowired studentMapper id Plus MyBatis import public

假设我们有一个数据库表 Student,包含字段 id、name 和 age,下面是使用 MyBatis Plus 和 Map 实现增删改查的示例:

1、插入数据:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public void insertStudent() {
        Map<String, Object> studentMap = new HashMap<>();
        studentMap.put("name", "John");
        studentMap.put("age", 20);

        // 插入数据
        studentMapper.insert(studentMap);
    }
}

2、查询数据:

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public List<Map<String, Object>> getStudents() {
        QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("id", "name", "age").eq("age", 20);

        // 查询数据
        return studentMapper.selectMaps(queryWrapper);
    }
}

3、更新数据:

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public void updateStudent(Long id) {
        Map<String, Object> updateMap = new HashMap<>();
        updateMap.put("name", "Updated Name");
        updateMap.put("age", 25);

        // 更新数据
        studentMapper.updateById(id, updateMap);
    }
}

4、删除数据:

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public void deleteStudent(Long id) {
        // 删除数据
        studentMapper.deleteById(id);
    }
}

5、分页查询

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class StudentService {

    @Autowired
    private StudentMapper studentMapper;

    public List<Map<String, Object>> getStudentsByPage(int pageNum, int pageSize) {
        QueryWrapper<Student> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("id", "name", "age").eq("age", 20);

        // 构建分页对象
        Page<Map<String, Object>> page = new Page<>(pageNum, pageSize);

        // 分页查询
        return studentMapper.selectMapsPage(page, queryWrapper).getRecords();
    }
}

 

标签:Map,Service,Autowired,studentMapper,id,Plus,MyBatis,import,public
From: https://www.cnblogs.com/zyt-bg/p/17595666.html

相关文章

  • 8.应用配置:特殊卷ConfigMap和Secret
    特殊卷ConfigMap和Secret是Kubernetes系统上两种特殊类型的存储卷◼ConfigMap用于为容器中的应用提供配置数据以定制程序的行为,而敏感的配置信息,例如密钥、证书等则通常由Secret来配置◼ConfigMap和Secret将相应的配置信息保存于资源对象中,而后在Pod对象上支持以存储......
  • 邮箱项目学习之一 利用IMAP协议接…
    利用IMAP协议接收邮件       InternetMessageAccessProtocol(缩写为IMAP,以前称作交互邮件访问协议)是一个应用层协议,用来从本地邮件客户端(如MicrosoftOutlook、OutlookExpress、Foxmail、Thunderbird)访问远程服务器上的邮件。当前的权威定义是RFC3501。IMAP协议运行在TCP/......
  • Mybatis
    day01-mybatis简介--入门-原生Dao开发.sqlconfig.xml配置介绍 mybatis的入门-根据用户id查询用户信息1.导入依赖jar包2.配置SqlMapConfig.xml3.配置log4j.properties4.在工程目录下创建pojo5.配置sql查询的映射文件6.加载映射文件 sql映射文件user.xmlid:sqlid,......
  • Mybatis学习(1)——mybatis介绍 & 入门案例 & 全局配置文件详解 & 增删改查 + mybatis事
    Mybatis学习(1)——mybatis介绍&入门案例&全局配置文件详解&增删改查+mybatis事务&mapper.xml文件#{}和${}&动态SQL入门原文链接:https://blog.csdn.net/Pireley/article/details/131520252目录引出一、mybatis是啥1.官网&ORM(ObjectRelationMapping)对象关......
  • nmap用法
    Ping扫描nmap-easily-ping-scan-all-addresses-in-my-subnetnmap-sP192.168.122.0/24 DHCP扫描Nmap扫描教程之网络基础服务DHCP服务类  sudonmap-sU-p67--script=dhcp-discover192.168.122.0/24 iprsudonmap--scriptbroadcast-dhcp-discover-e......
  • 大二暑期实习记录(一):处理组件绑定数据错误(数组解构,map()方法)
    好家伙,搬砖 今天在做组件迁移(从一个旧平台迁移到一个新平台)的时候,发现了一些小小的问题: 1.错误描述:在穿梭框组件中,使用"节点配置"方法添加数据的时候,左测数据选择框直接消失了这里我们猜测一下,大概是数据处理出了问题此处,我们使用"数据绑定"绑定数据方法: ......
  • Mybatis中的Mapper.xml映射文件sql查询接收多个参数 分页查询 sql语句动态生成的时候,
    Mybatis中的Mapper.xml映射文件sql查询接收多个参数分页查询sql语句动态生成的时候,使用${},sql语句中某个参数进行占位的时候用#{}原文链接:https://blog.csdn.net/Ep_Little_prince/article/details/100687848​我们都知道,在Mybatis中的Mapper.xml映射文件可以定制动态SQ......
  • HashMap深入学习
    1.HashMap和HashTable的区别?a.HashMap是线程不安全的,HashTable是线程安全的。b.HashTable不允许有null键和null值。c.HashMap底层是数组+链表+红黑树,而HashTable底层是数组+链表。d.HashMap默认的初始大小为16,每次扩容变为原来的2倍;HashTable默认初始大小为11,每次扩容后容量变为原......
  • Mapper.xml详解 一对一 多对一 多对多
    Mapper.xml详解Mapper.xml详解一对一多对一多对多原文链接:https://blog.csdn.net/qq_36850813/article/details/80037363 我们知道,每一款框架产品在实际开发中,都是通过XML文件来培训框架的相关流程的,MyBatis也不例外,主要有两个配置文件:config.xml和Mapper.xml,当然,这两种配......
  • VUE3、ElementPlus 重构若依vue2 表单构建功能
    Vue3+ElementPlus+Vite重构若依Vue2表单构建功能若依官方的Vue3版本发布已经有段时间了,就是这个表单构建功能一直没有安排计划去适配到Vue3!前段时间公司需要做个类似的功能,就直接借鉴若依Vue2的来直接改了吐槽下:vuedraggable-vue3坑真多,官方文档一言难尽,现在不推荐使......