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

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

mybatis-plus如何根据任意字段saveOrUpdateBatch

《mybatis-plus如何根据任意字段saveOrUpdateBatch》MyBatisPlussaveOrUpdateBatch默认按主键判断操作类型,若需按其他唯一字段(如agentId、pe... 目录使用场景方法源码方法改造首先在service层定义接口service层接口实现总结使用场景my

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员