论文管理系统(用户列表显示功能)
创始人
2024-02-06 09:13:42
0

上次我们已经实现了论文管理系登录功能,这次我们要实现登录之后的跳转到首页,并且让首页列表显示出数据库的信息并在Mapper中写入模糊查询功能语句,这次我们不使用MybatisPlus写这个功能,这次使用Mybatis来写,区别就是Plus是继承于Mapper,Mybatis则是我们通过读取Mapper.xml文件中的sql语句,实现效果如下图所示,:

 

一、后端部分 

1.1 实体类

再次强调我们每次传递数据是通过HttpResult 实体类来响应前端的数据

package com.woniu.paper.entity;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class HttpResult {private Object data;private int pageTotle;private int code;//200=成功,500=失败private String msg;//给前端的提示
}

 实体类paper

package com.woniu.paper.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;
import java.time.LocalDateTime;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Paper  {private Long id;private String title;private Long typeId;private String paperSummary;private String paperPath;private String createdBy;private LocalDateTime creationData;private String modifyBy;private LocalDateTime modifyData;private String fileName;private String typeName;}

 这里大家发现实体类里面多了一个属性typeName,这是方便我们后面模糊查询,因为paper数据表中的的论文类型是id,不是文本形式,没有办法进行模糊查询,所以我们需要在里面自己加入typeName这个变量

1.2 paperMapper.xml



           insert into t_paper (title,type_id,paper_summary,paper_path,created_by,modify_by,file_name) values (#{title},#{typeId},#{paperSummary},#{paperPath},#{createdBy},#{modifyBy},#{fileName})

数据库内外链接补充

 1.3 PaperMapper类

public interface PaperMapper extends BaseMapper {List selectPaperListByCondition(String title, String typeName, int start, int size);int count(String title, String typeName);//查询总数,用于列表分页
}

 1.4Service层

接口

package com.woniu.paper.service;import com.woniu.paper.entity.HttpResult;
import com.woniu.paper.entity.Paper;
import com.baomidou.mybatisplus.extension.service.IService;/*** 

* 服务类*

** @author zhang* @since 2022-11-18*/ public interface IPaperService {public HttpResult selectPaperListByCondition(String title, String typeName, int pageIndex, int pageSize);public HttpResult insertPaper(String title,Long typeId,String paperSummary,String paperPath,String createdBy,String modifyBy,String fileName); }

实现类

package com.woniu.paper.service.impl;import com.woniu.paper.entity.HttpResult;
import com.woniu.paper.entity.Paper;
import com.woniu.paper.mapper.PaperMapper;
import com.woniu.paper.mapper.UserMapper;
import com.woniu.paper.service.IPaperService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;/*** 

* 服务实现类*

** @author zhang* @since 2022-11-18*/ @Service public class PaperServiceImpl implements IPaperService {@Autowired(required = false)private PaperMapper paperMapper;//实例化DAO对象@Overridepublic HttpResult selectPaperListByCondition(String title, String typeName, int pageIndex, int pageSize) {List papers = paperMapper.selectPaperListByCondition(title, typeName, (pageIndex - 1) * pageSize, pageSize);int count = paperMapper.count(title, typeName);HttpResult result=null;if (papers!=null&&papers.size()>0){result= new HttpResult(papers,count,200,null);}else{result= new HttpResult(null,0,500,"没有更多数据");}return result;}}

 1.5 Controller层

package com.woniu.paper.controller;import com.woniu.paper.entity.HttpResult;
import com.woniu.paper.service.IPaperService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;/*** 

* 前端控制器*

** @author zhang* @since 2022-11-18*/ @RestController @RequestMapping("/paper/paper") public class PaperController {@Autowiredprivate IPaperService paperService;//实例化Service对象/*** 根据分页查询论文列表* @return*/@RequestMapping("/list")@CrossOrigin(origins = "*")public HttpResult selectPaperListByCondition(String title,String typeName,int pageIndex,int pageSize) {return paperService.selectPaperListByCondition(title,typeName,pageIndex,pageSize);}/*** 新增*/}

 二、前端部分

效果图

 

源码如下 :




论文管理系统

论文管理系统
论文主题:论文类型:
论文列表
论文主题作者论文类型发表时间修改时间操作
{{p.title}}{{p.createdBy}}{{p.typeName}}{{p.creationData}}{{p.modifyData}}

 代码讲解

整体思路,我们要先保证能显示列表信息,之后进行跳转和模糊查询等等其他功能


这两个按钮是页面左边的菜单栏的选项

 

 分页功能

 

 JS部分都有具体注释,分页功能可参考往期博客

主页面图 

 模糊查询效果图

 

 

 

 

 

 

 

 

 

 

相关内容

热门资讯

财务预算实习报告 财务预算实习报告  实习时学生接触实践的教学过程,每个学生都应该通过财务管理的模拟设计实习,了解财务...
采风报告 采风报告推荐度:安全报告推荐度:消防报告推荐度:述职报告推荐度:调研报告推荐度:相关推荐
医保自查自纠整改报告 医保自查自纠整改报告范文  随着人们自身素质提升,报告使用的频率越来越高,报告具有双向沟通性的特点。...
医生述职报告 【实用】医生述职报告模板汇总六篇  在现实生活中,越来越多的事务都会使用到报告,不同种类的报告具有不...
个人征信报告 个人征信报告  报告的基本要求  1、总结必须有情况的概述和叙述,有的比较简单,有的比较详细。这部分...
班主任培训简报 班主任培训简报  班主任培训简报(一)  根据修文县教育局文件《关于组织参加“中国教育梦之立德树人大...
青花瓷研究开题报告 青花瓷研究开题报告研究性学习开题报告课题名称青花瓷开题时间2010年4月9日星期五结题时间2010....
地质地貌实习报告 地质地貌实习报告(精选14篇)  时间过得真快,一段时间的实习生活已经结束了,回顾过去这段时间的实习...
会计综合实训报告范文 会计综合实训报告范文  会计实训涉及的领域:  1、有会计上岗证但缺乏实际全盘账务税务操作者。  2...
员工思想动态分析报告 员工思想动态分析报告  一、分析报告的主体  主体是分析报告的主要部分,一般是写调查分析的主要情况、...
生产事故处理分析报告范文30... 生产事故处理分析报告范文 第一篇一、质量问题发生时间:20xx年3月19日、23日二、质量问题发生部...
大学生毕业实习报告 大学生毕业实习报告范文3000字(通用9篇)  紧张而又充实的实习生活结束了,想必我们吸收了许多新的...
初一自我陈述报告 初一自我陈述报告300字(通用12篇)  在现在社会,越来越多的事务都会使用到报告,其在写作上具有一...
安全隐患排查的报告 关于安全隐患排查的报告范文(精选15篇)  在当下这个社会中,报告对我们来说并不陌生,报告具有成文事...
三年级家长会班主任发言稿 三年级家长会班主任发言稿(精选10篇)  在日新月异的现代社会中,需要使用发言稿的场合越来越多,发言...
市场调查报告 【实用】市场调查报告模板集合八篇  在日常生活和工作中,越来越多的事务都会使用到报告,其在写作上有一...
车工的实习报告 关于车工的实习报告(精选10篇)  紧张而又充实的实习生活结束了,想必你的视野也得到了开拓,不妨坐下...
班级工作汇报 班级工作汇报08高职计算机一班工作汇报 一、班级基本情况 08高职计算机一班于2008年9月1日...
图文认知实习报告 图文认知实习报告一、曝光曝光即将涂有感光层的ps版置于晒版机工作台上,放好底片,通过主光、输光两次曝...
银行述职报告 银行述职报告(15篇)  随着人们自身素质提升,报告使用的频率越来越高,报告中涉及到专业性术语要解释...