mybatis-plus笔记BaseMapper/ServiceImpl/IService/@TableName/@TableId@分页模糊查询

本文主要是介绍mybatis-plus笔记BaseMapper/ServiceImpl/IService/@TableName/@TableId@分页模糊查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、BaseMapper是mybatis-plus提供的,汇聚插入、更新、删除和查询等功能,简化sql代码。
2、ServiceImpl 是IService 的实现类,有两个泛型参数,一个参数为BaseMapper 也就是实体Mapper ,一个是实体类。
3、IService接口中包含的一系列的dao层交互操作,一般在服务层进行继承操作。
4、使用mybatisplus时,报错表和视图不存在,是因为框架直接用的类名到数据库找,如果不一致会报错,所以在entity那用@TableName告诉数据库里该表的名字;
@TableId,设置别名,就是updateById方法里用的id,但代码里实际用的是userId。

@TableName(value = "R$USER")
public class UserTest {@TableField("USER_ID")
//    @TableId使用的主键,就是updateById方法里的id@TableId(value = "USER_ID", type = IdType.AUTO)private Long userId;}
package cn.com.sparknet.order.service;import org.springframework.stereotype.Service;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import cn.com.sparknet.entity.UserTest;
import cn.com.sparknet.order.dao.PageSearchDao;
/** ServiceImpl是mybatis提供的,在service层使用的。*/
@Service
public class PageSearchService extends ServiceImpl<PageSearchDao, UserTest>{//	用mybatis-plus实现新增public boolean plusSave(UserTest userTest) {//		方式1,save和updateById都是mybatis-plus提供的方法
//		if (userTest.getUserId() == null) {
//			return save(userTest);
//		}else {
//			return updateById(userTest);
//		} //		方式二saveOrUpdate是新增和修改的集合方法,就是方式一合并return saveOrUpdate(userTest);}
}

5、mybatisplus查询list()
6、mybatisplus删除removeById()
7、分页模糊查询
mybatis版本号3.3.0
(1)配置分页插件

package cn.com.sparknet.config;
import java.util.Collections;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;@Configuration
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {PaginationInterceptor paginationInterceptor = new PaginationInterceptor();return paginationInterceptor;}
}

(2)Dao

package cn.com.sparknet.order.dao;
/** 分页查询*/import org.apache.ibatis.annotations.Mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import cn.com.sparknet.entity.UserTest;// BaseMapper是mybatis-plus提供的,汇聚插入、更新、删除和查询等功能,简化sql代码。
@Mapper
public interface PageSearchDao extends BaseMapper<UserTest> {}

(3)controlle

//	分页查询
//	@RequestParam接收路由上参数/listPage?pageSize=3&pageNum=1&userName=aa@PostMapping("/listPage")public Page<UserTest> findList(@RequestParam Integer pageSize, @RequestParam Integer pageNum, @RequestParam String userName) {Page<UserTest> page = new Page<>(pageNum, pageSize);QueryWrapper<UserTest> queryWrapper = new QueryWrapper<>();
//		模糊查询的参数queryWrapper.like("USER_NAME", userName);return pageSearchService.page(page, queryWrapper);}

8、導出excel

//	导出接口@GetMapping("/export")public void export(HttpServletResponse response) throws Exception {
//		(1)获取要导出的数据到listList<UserTest>list = pageSearchService.list();//		(2)引入导出工具,自定义列别名ExcelWriter writer = ExcelUtil.getWriter();writer.addHeaderAlias("userId", "用户Id");writer.addHeaderAlias("userName", "用户名");writer.addHeaderAlias("duty", "职务");writer.addHeaderAlias("tel", "电话");//		写出文件writer.write(list, true);//		设置浏览器响应格式//response为HttpServletResponse对象response.setContentType("application/vnd.ms-excel;charset=utf-8"); //test.xls是弹出下载对话框的文件名,不能为中文,中文需编码response.setHeader("Content-Disposition","attachment;filename=test.xls"); ServletOutputStream out = response.getOutputStream(); writer.flush(out, true);// 关闭writer,释放内存writer.close();}}

这篇关于mybatis-plus笔记BaseMapper/ServiceImpl/IService/@TableName/@TableId@分页模糊查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886324

相关文章

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.