计算机毕业设计 教师科研信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟


计算机毕业设计《1000套》

目录

1、项目介绍及开发技术

[1.1 项目介绍](#1.1 项目介绍)

[1.2 开发技术](#1.2 开发技术)

2、系统功能设计结构图

3、功能截图

[3.1 管理员功能](#3.1 管理员功能)

[3.2 教师功能](#3.2 教师功能)

4、数据库表结构设计

5、关键代码

[5.1 专利申请Controller模块](#5.1 专利申请Controller模块)

[5.2 专利申请Service模块](#5.2 专利申请Service模块)

[5.3 专利申请ServiceImpl模块](#5.3 专利申请ServiceImpl模块)

[5.4 专利申请Dao模块](#5.4 专利申请Dao模块)

6、论文目录结构

7、源码获取


1、项目介绍及开发技术

1.1 项目介绍

在学术研究和教育领域,科研项目、论文发表和专利申请是衡量学术成就和创新能力的重要指标。随着科研活动的日益频繁和复杂,传统的手工管理方式已无法满足现代科研管理的需求。为了提高科研管理的效率和质量,促进学术成果的产出和转化,我们设计并开发了一个科研项目管理平台。

背景:

当前,高校和科研机构面临着科研项目管理、论文发表和专利申请等多重任务,这些任务涉及大量的信息收集、处理和更新。传统的管理方式不仅效率低下,而且容易出现信息孤岛,不利于科研资源的共享和科研成果的推广。

目的意义:

    1. 提高管理效率:通过系统化的科研项目管理,平台能够自动化地处理项目申请、进度跟踪和成果评估等工作,大大提高了科研管理的效率。
    1. 促进信息共享:平台集中管理论文和专利信息,便于教师和研究人员快速获取相关学术资源,促进知识的交流和共享。
    1. 优化资源配置:系统管理功能使得科研资源(如资金、设备、人力)的分配更加合理,提高了科研资源的利用效率。
    1. 增强科研透明度:通过公告通知和统计报表,平台增强了科研项目的透明度,便于监督和管理,确保科研项目的顺利进行。
    1. 支持决策制定:平台提供的数据分析和统计功能,为科研管理者提供了决策支持,有助于制定更加科学的科研发展战略。

综上所述,科研项目管理平台的设计与实现,不仅能够为科研人员提供一个便捷、高效的科研管理工具,还能够为科研管理者提供一个全面、透明的管理视角。通过技术手段优化科研管理流程,该平台有望成为推动科研创新和学术发展的重要力量。

1.2 开发技术

类别 技术名称 用途/描述
开发语言 Java 一种广泛使用的面向对象编程语言。
框架 Spring Boot 简化Spring应用的初始搭建以及开发过程。
ORM工具 MyBatis Plus MyBatis的增强工具,简化CRUD操作。
数据库 MySQL 流行的关系型数据库管理系统。
构建工具 Maven 项目管理和理解工具。
开发工具 IDEA 集成开发环境,用于代码编写和调试。
JDK版本 JDK 1.8+ Java开发工具包,提供运行Java程序所需的环境。
前端框架 Vue 用于构建用户界面的渐进式JavaScript框架。
UI框架 Element UI 基于Vue的桌面端组件库。
前端技术 HTML 网页内容的标准标记语言。
前端技术 CSS 描述HTML文档的样式。
前端技术 JS 网页脚本语言,用于实现网页的动态效果。

2、系统功能设计结构图

功能模块结构图

├── 管理员

│ ├── 登录

│ ├── 系统首页

│ │ └── 统计

│ ├── 个人中心

│ ├── 教师管理

│ ├── 项目分类管理

│ ├── 科研项目管理

│ ├── 论文信息管理

│ ├── 专利类型管理

│ ├── 专利申请管理

│ ├── 专利信息管理

│ └── 系统管理

└──教师

├── 登录

├── 注册

├── 个人中心

├── 科研项目管理

├── 论文信息管理

├── 专利申请管理

└── 专利信息管理

系统MVC框架,请求流程展示:

3、功能截图

3.1 管理员功能

3.2 教师功能

4、数据库表结构设计

sql 复制代码
--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  `url` varchar(500) DEFAULT NULL COMMENT 'url',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;


--
-- Table structure for table `keyanxiangmu`
--

DROP TABLE IF EXISTS `keyanxiangmu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `keyanxiangmu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `xiangmumingcheng` varchar(200) DEFAULT NULL COMMENT '项目名称',
  `xiangmufenlei` varchar(200) DEFAULT NULL COMMENT '项目分类',
  `xiangmutupian` longtext COMMENT '项目图片',
  `xiangmujindu` varchar(200) DEFAULT NULL COMMENT '项目进度',
  `xiangmujingfei` double DEFAULT NULL COMMENT '项目经费',
  `keyanchengguo` varchar(200) DEFAULT NULL COMMENT '科研成果',
  `xiangmufujian` longtext COMMENT '项目附件',
  `jilushijian` datetime DEFAULT NULL COMMENT '记录时间',
  `jiaoshizhanghao` varchar(200) DEFAULT NULL COMMENT '教师账号',
  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8 COMMENT='科研项目';
/*!40101 SET character_set_client = @saved_cs_client */;


--
-- Table structure for table `token`
--

DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(100) NOT NULL COMMENT '用户名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `zhuanlishenqing`
--

DROP TABLE IF EXISTS `zhuanlishenqing`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `zhuanlishenqing` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `shenqingbianhao` varchar(200) DEFAULT NULL COMMENT '申请编号',
  `zhuanlimingcheng` varchar(200) DEFAULT NULL COMMENT '专利名称',
  `zhuanlileixing` varchar(200) DEFAULT NULL COMMENT '专利类型',
  `tupian` longtext COMMENT '图片',
  `ziliaofujian` longtext COMMENT '资料附件',
  `shenqingshijian` datetime DEFAULT NULL COMMENT '申请时间',
  `jiaoshizhanghao` varchar(200) DEFAULT NULL COMMENT '教师账号',
  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `shenqingbianhao` (`shenqingbianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COMMENT='专利申请';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Table structure for table `zhuanlixinxi`
--

DROP TABLE IF EXISTS `zhuanlixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `zhuanlixinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `zhuanlibianhao` varchar(200) DEFAULT NULL COMMENT '专利编号',
  `zhuanlimingcheng` varchar(200) DEFAULT NULL COMMENT '专利名称',
  `zhuanlileixing` varchar(200) DEFAULT NULL COMMENT '专利类型',
  `tupian` longtext COMMENT '图片',
  `wenjianfujian` longtext COMMENT '文件附件',
  `fabushijian` datetime DEFAULT NULL COMMENT '发布时间',
  `jiaoshizhanghao` varchar(200) DEFAULT NULL COMMENT '教师账号',
  `jiaoshixingming` varchar(200) DEFAULT NULL COMMENT '教师姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `zhuanlibianhao` (`zhuanlibianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=80 DEFAULT CHARSET=utf8 COMMENT='专利信息';
/*!40101 SET character_set_client = @saved_cs_client */;

5、关键代码

5.1 专利申请Controller模块

java 复制代码
package com.controller;

import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.ZhuanlishenqingEntity;
import com.entity.view.ZhuanlishenqingView;

import com.service.ZhuanlishenqingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;
import com.utils.MapUtils;
import com.utils.CommonUtil;
import java.io.IOException;

/**
 * 专利申请
 * 后端接口
 * @author 
 * @email 
 */
@RestController
@RequestMapping("/zhuanlishenqing")
public class ZhuanlishenqingController {
    @Autowired
    private ZhuanlishenqingService zhuanlishenqingService;




    



    /**
     * 后台列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ZhuanlishenqingEntity zhuanlishenqing,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoshi")) {
			zhuanlishenqing.setJiaoshizhanghao((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();

		PageUtils page = zhuanlishenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhuanlishenqing), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前台列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ZhuanlishenqingEntity zhuanlishenqing, 
		HttpServletRequest request){
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();

		PageUtils page = zhuanlishenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhuanlishenqing), params), params));
        return R.ok().put("data", page);
    }



	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ZhuanlishenqingEntity zhuanlishenqing){
       	EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( zhuanlishenqing, "zhuanlishenqing")); 
        return R.ok().put("data", zhuanlishenqingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ZhuanlishenqingEntity zhuanlishenqing){
        EntityWrapper< ZhuanlishenqingEntity> ew = new EntityWrapper< ZhuanlishenqingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( zhuanlishenqing, "zhuanlishenqing")); 
		ZhuanlishenqingView zhuanlishenqingView =  zhuanlishenqingService.selectView(ew);
		return R.ok("查询专利申请成功").put("data", zhuanlishenqingView);
    }
	
    /**
     * 后台详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ZhuanlishenqingEntity zhuanlishenqing = zhuanlishenqingService.selectById(id);
        return R.ok().put("data", zhuanlishenqing);
    }

    /**
     * 前台详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ZhuanlishenqingEntity zhuanlishenqing = zhuanlishenqingService.selectById(id);
        return R.ok().put("data", zhuanlishenqing);
    }
    



    /**
     * 后台保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ZhuanlishenqingEntity zhuanlishenqing, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(zhuanlishenqing);
        zhuanlishenqingService.insert(zhuanlishenqing);
        return R.ok();
    }
    
    /**
     * 前台保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ZhuanlishenqingEntity zhuanlishenqing, HttpServletRequest request){
    	//ValidatorUtils.validateEntity(zhuanlishenqing);
        zhuanlishenqingService.insert(zhuanlishenqing);
        return R.ok();
    }





    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody ZhuanlishenqingEntity zhuanlishenqing, HttpServletRequest request){
        //ValidatorUtils.validateEntity(zhuanlishenqing);
        zhuanlishenqingService.updateById(zhuanlishenqing);//全部更新
        return R.ok();
    }



    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        zhuanlishenqingService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
	






    /**
     * (按值统计)
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}")
    public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("jiaoshi")) {
            ew.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));
		}
        List<Map<String, Object>> result = zhuanlishenqingService.selectValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * (按值统计(多))
     */
    @RequestMapping("/valueMul/{xColumnName}")
    public R valueMul(@PathVariable("xColumnName") String xColumnName,@RequestParam String yColumnNameMul, HttpServletRequest request) {
        String[] yColumnNames = yColumnNameMul.split(",");
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        List<List<Map<String, Object>>> result2 = new ArrayList<List<Map<String,Object>>>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("jiaoshi")) {
            ew.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));
        }
        for(int i=0;i<yColumnNames.length;i++) {
            params.put("yColumn", yColumnNames[i]);
            List<Map<String, Object>> result = zhuanlishenqingService.selectValue(params, ew);
            for(Map<String, Object> m : result) {
                for(String k : m.keySet()) {
                    if(m.get(k) instanceof Date) {
                        m.put(k, sdf.format((Date)m.get(k)));
                    }
                }
            }
            result2.add(result);
        }
        return R.ok().put("data", result2);
    }

    /**
     * (按值统计)时间统计类型
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
    public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        params.put("timeStatType", timeStatType);
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("jiaoshi")) {
            ew.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = zhuanlishenqingService.selectTimeStatValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * (按值统计)时间统计类型(多)
     */
    @RequestMapping("/valueMul/{xColumnName}/{timeStatType}")
    public R valueMulDay(@PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,@RequestParam String yColumnNameMul,HttpServletRequest request) {
        String[] yColumnNames = yColumnNameMul.split(",");
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("timeStatType", timeStatType);
        List<List<Map<String, Object>>> result2 = new ArrayList<List<Map<String,Object>>>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("jiaoshi")) {
            ew.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));
        }
        for(int i=0;i<yColumnNames.length;i++) {
            params.put("yColumn", yColumnNames[i]);
            List<Map<String, Object>> result = zhuanlishenqingService.selectTimeStatValue(params, ew);
            for(Map<String, Object> m : result) {
                for(String k : m.keySet()) {
                    if(m.get(k) instanceof Date) {
                        m.put(k, sdf.format((Date)m.get(k)));
                    }
                }
            }
            result2.add(result);
        }
        return R.ok().put("data", result2);
    }

    /**
     * 分组统计
     */
    @RequestMapping("/group/{columnName}")
    public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("column", columnName);
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("jiaoshi")) {
            ew.eq("jiaoshizhanghao", (String)request.getSession().getAttribute("username"));
        }
        List<Map<String, Object>> result = zhuanlishenqingService.selectGroup(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }




    /**
     * 总数量
     */
    @RequestMapping("/count")
    public R count(@RequestParam Map<String, Object> params,ZhuanlishenqingEntity zhuanlishenqing, HttpServletRequest request){
        String tableName = request.getSession().getAttribute("tableName").toString();
        if(tableName.equals("jiaoshi")) {
            zhuanlishenqing.setJiaoshizhanghao((String)request.getSession().getAttribute("username"));
        }
        EntityWrapper<ZhuanlishenqingEntity> ew = new EntityWrapper<ZhuanlishenqingEntity>();
        int count = zhuanlishenqingService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, zhuanlishenqing), params), params));
        return R.ok().put("data", count);
    }



}

5.2 专利申请Service模块

java 复制代码
 package com.service;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.ZhuanlishenqingEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.ZhuanlishenqingVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.ZhuanlishenqingView;


/**
 * 专利申请
 *
 * @author 
 * @email 
 */
public interface ZhuanlishenqingService extends IService<ZhuanlishenqingEntity> {

    PageUtils queryPage(Map<String, Object> params);
    
   	List<ZhuanlishenqingVO> selectListVO(Wrapper<ZhuanlishenqingEntity> wrapper);
   	
   	ZhuanlishenqingVO selectVO(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);
   	
   	List<ZhuanlishenqingView> selectListView(Wrapper<ZhuanlishenqingEntity> wrapper);
   	
   	ZhuanlishenqingView selectView(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);
   	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<ZhuanlishenqingEntity> wrapper);

   	

    List<Map<String, Object>> selectValue(Map<String, Object> params,Wrapper<ZhuanlishenqingEntity> wrapper);

    List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params,Wrapper<ZhuanlishenqingEntity> wrapper);

    List<Map<String, Object>> selectGroup(Map<String, Object> params,Wrapper<ZhuanlishenqingEntity> wrapper);



}

5.3 专利申请ServiceImpl模块

java 复制代码
package com.service.impl;

import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;

import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;


import com.dao.ZhuanlishenqingDao;
import com.entity.ZhuanlishenqingEntity;
import com.service.ZhuanlishenqingService;
import com.entity.vo.ZhuanlishenqingVO;
import com.entity.view.ZhuanlishenqingView;

@Service("zhuanlishenqingService")
public class ZhuanlishenqingServiceImpl extends ServiceImpl<ZhuanlishenqingDao, ZhuanlishenqingEntity> implements ZhuanlishenqingService {
	
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<ZhuanlishenqingEntity> page = this.selectPage(
                new Query<ZhuanlishenqingEntity>(params).getPage(),
                new EntityWrapper<ZhuanlishenqingEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<ZhuanlishenqingEntity> wrapper) {
		  Page<ZhuanlishenqingView> page =new Query<ZhuanlishenqingView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}

    
    @Override
	public List<ZhuanlishenqingVO> selectListVO(Wrapper<ZhuanlishenqingEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public ZhuanlishenqingVO selectVO(Wrapper<ZhuanlishenqingEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<ZhuanlishenqingView> selectListView(Wrapper<ZhuanlishenqingEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public ZhuanlishenqingView selectView(Wrapper<ZhuanlishenqingEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

    @Override
    public List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<ZhuanlishenqingEntity> wrapper) {
        return baseMapper.selectValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<ZhuanlishenqingEntity> wrapper) {
        return baseMapper.selectTimeStatValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<ZhuanlishenqingEntity> wrapper) {
        return baseMapper.selectGroup(params, wrapper);
    }




}

5.4 专利申请Dao模块

java 复制代码
package com.dao;

import com.entity.ZhuanlishenqingEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;

import org.apache.ibatis.annotations.Param;
import com.entity.vo.ZhuanlishenqingVO;
import com.entity.view.ZhuanlishenqingView;


/**
 * 专利申请
 * 
 * @author 
 * @email 
 */
public interface ZhuanlishenqingDao extends BaseMapper<ZhuanlishenqingEntity> {
	
	List<ZhuanlishenqingVO> selectListVO(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);
	
	ZhuanlishenqingVO selectVO(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);
	
	List<ZhuanlishenqingView> selectListView(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);

	List<ZhuanlishenqingView> selectListView(Pagination page,@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);

	
	ZhuanlishenqingView selectView(@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);
	

    List<Map<String, Object>> selectValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);

    List<Map<String, Object>> selectTimeStatValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);

    List<Map<String, Object>> selectGroup(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<ZhuanlishenqingEntity> wrapper);



}

6、论文目录结构

摘要... I

Abstract... II

1 绪论... 1

1.1 项目简介... 1

1.2 调查研究... 1

1.2.1 研究背景及意义... 1

1.2.2 国内外研究现状... 2

1.2.3 研究主要内容... 2

1.3 论文的章节安排... 3

2 系统相关技术介绍... 4

2.1 Java语言... 4

2.2 SpringBoot框架... 4

2.3 Vue框架... 4

2.4 MySQL数据库... 4

3 系统需求分析... 6

3.1 可行性分析... 6

3.1.1 技术可行性... 6

3.1.2 经济可行性... 6

3.1.3 操作可行性... 6

3.2 系统功能需求... 6

3.2.1 用户端功能需求... 6

3.2.2 XX端功能需求... 6

3.2.3 管理员端功能需求... 6

3.3 系统性能需求... 6

4 系统总体设计... 7

4.1 系统总体架构设计... 7

4.2 系统的功能设计... 7

4.3 数据库设计... 7

4.3.1 概念设计E-R图... 7

4.3.2 逻辑设计关系模式... 7

4.3.3 数据库物理设计... 7

5 系统详细实现... 14

5.1 系统实现环境... 14

5.2 用户端... 14

5.2.1 登录页面... 14

5.2.2 注册页面... 14

5.2.3 XXXX页面... 14

5.2.4 XXXX页面... 14

5.2.5 XXXX页面... 14

5.3 XXXX端... 15

5.3.1 XXXX页面... 15

5.3.2 XXXX页面... 15

5.3.3 XXXX页面... 15

5.3.4 XXXX页面... 15

5.4 管理端... 15

5.4.1 用户管理页面... 15

5.4.2 XXXX页面... 15

5.4.3 XXXX页面... 16

5.4.4 XXXX页面... 16

6 系统测试... 16

6.1 测试目的... 16

6.2 测试方法... 16

6.3 测试用例... 16

6.3.1 XXXX测试... 16

6.3.2 XXXX测试... 16

6.4 测试结果... 16

结论... 17

参考文献... 18

致谢... 19

更多源码:

计算机毕业设计选题1000套等你来!!!

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

下方联系方式获取源码

相关推荐
七星静香9 分钟前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员10 分钟前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU10 分钟前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie614 分钟前
在IDEA中使用Git
java·git
Elaine20239129 分钟前
06 网络编程基础
java·网络
G丶AEOM30 分钟前
分布式——BASE理论
java·分布式·八股
落落鱼201331 分钟前
tp接口 入口文件 500 错误原因
java·开发语言
想要打 Acm 的小周同学呀32 分钟前
LRU缓存算法
java·算法·缓存
镰刀出海35 分钟前
Recyclerview缓存原理
java·开发语言·缓存·recyclerview·android面试
阿伟*rui3 小时前
配置管理,雪崩问题分析,sentinel的使用
java·spring boot·sentinel