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嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

Mybatis Plus JSqlParser解析sql语句及JSqlParser安装步骤

《MybatisPlusJSqlParser解析sql语句及JSqlParser安装步骤》JSqlParser是一个用于解析SQL语句的Java库,它可以将SQL语句解析为一个Java对象树,允许... 目录【一】jsqlParser 是什么【二】JSqlParser 的安装步骤【三】使用场景【1】sql语

mybatis的mapper对应的xml写法及配置详解

《mybatis的mapper对应的xml写法及配置详解》这篇文章给大家介绍mybatis的mapper对应的xml写法及配置详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录前置mapper 对应 XML 基础配置mapper 对应 xml 复杂配置Mapper 中的相

如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)

《如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)》:本文主要介绍如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)问题,具有很好的参考价值,希望对大家有所帮助,如有... 目录先在你打算存放的地方建四个文件夹更改这四个路径就可以修改默认虚拟内存分页js文件的位置接下来从高级-

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

关于Mybatis和JDBC的使用及区别

《关于Mybatis和JDBC的使用及区别》:本文主要介绍关于Mybatis和JDBC的使用及区别,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、JDBC1.1、流程1.2、优缺点2、MyBATis2.1、执行流程2.2、使用2.3、实现方式1、XML配置文件

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索

基于Redis实现附近商铺查询功能

《基于Redis实现附近商铺查询功能》:本文主要介绍基于Redis实现-附近商铺查询功能,这个功能将使用到Redis中的GEO这种数据结构来实现,需要的朋友可以参考下... 目录基于Redis实现-附近查询1.GEO相关命令2.使用GEO来实现以下功能3.使用Java实现简China编程单的附近商铺查询4.Red