作者主页:编程指南针
作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业讲师以及同行交流合作
主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等
业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路等。
收藏点赞不迷路 关注作者有好处
文末获取源码
计算机Java项目|基于SpringBoot+VUE+AI的文物管理系统的设计与实现
项目编号:BS-2026-017
一,环境介绍
语言环境:Java: jdk1.8
数据库:Mysql: mysql5.7
应用服务器:Tomcat: tomcat8.5.31
开发工具:IDEA或eclipse
技术:springboot+mysql+html+java
二,项目简介
本文针对当前许多中小型文博机构及民间收藏领域存在的管理方式传统、信息共享不畅、公众参与度低等问题,本文设计并实现了文物管理系统。本次研究不仅为文物管理提供了信息化工具,更构建了一个连接文博机构、鉴定专家与公众的互动平台,对促进文物知识的普及、推动文化遗产的共享与传承具有积极的实践意义。
系统采用IDEA工具来进行开发,整体采用前后端分离的B/S架构设计。后端以SpringBoot框架为核心,整合MyBatis等组件,提供稳健的RESTful API服务;前端采用VUE.js渐进式框架,结合Element Plus UI组件库,构建了响应式、交互友好的用户界面;数据库选用MySQL进行数据持久化存储。根据需求分析设计主要功能模块包括:文物信息多维展示与分类检索、文物鉴定知识库学习、AI智能咨询与人工在线鉴定、文物爱好者交流社区、线下活动管理以及后台综合管理等。系统特别设计了文物鉴定流程,支持用户上传图片/视频进行在线鉴定,并引入了AI大模型接口提供智能咨询服务。经过大量测试用例的测试结果表明,本次研究实现的系统达到了预期目标。
本次研究设计并实现一个基于SpringBoot与VUE框架的现代化文物信息管理平台,致力于通过数字化手段提升文物保护与知识普及的效能。在技术架构方面,系统以后端SpringBoot框架为核心,基于Java语言构建稳定高效的服务逻辑;前端采用VUE渐进式开发框架,结合响应式设计理念,打造用户友好的交互界面;数据存储则依托于关系型数据库MySQL,结合Navicat可视化工具进行数据库的设计、管理与优化;整个开发过程在IDEA集成开发环境中完成,运行于Windows操作系统环境。
在功能规划上,系统围绕用户、内容与互动三大维度展开,构建了涵盖“用户管理”“新闻管理”“文物分类管理”“文物信息管理”“交流信息管理”“文物鉴定知识管理”“在线智能咨询”以及“在线知识学习”在内的八大核心模块。通过这些模块的有机整合,系统不仅能够实现对文物资源的系统化归档与多维度展示,还能支持用户之间的实时交流与知识共享,并引入智能咨询功能以增强互动体验。
本系统的建设,主要目的在于构建一个开放、便捷、专业的文物信息服务平台,一方面满足社会公众对文物历史文化知识的认知需求,推动文物知识的普及与传播;另一方面通过系统化、数字化的管理方式,为文物保护工作提供技术支持,助力实现文物资源的可持续保护与活化利用。
三,系统展示
四,核心代码展示
package com.yb.controller; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.*; import java.lang.*; import java.math.*; import com.yb.utils.*; import java.util.stream.Collectors; import jakarta.servlet.http.HttpServletRequest; 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.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.yb.annotation.IgnoreAuth; import com.yb.entity.BaomingjiluEntity; import com.yb.entity.view.BaomingjiluView; import com.yb.service.BaomingjiluService; import com.yb.utils.PageUtils; import com.yb.utils.R; import com.yb.utils.MPUtil; import com.yb.utils.MapUtils; import com.yb.utils.CommonUtil; import java.io.IOException; /** * 报名记录 * 后端接口 * @author * @email * @date 2026-01-22 15:12:41 */ @RestController @RequestMapping("/baomingjilu") public class BaomingjiluController { @Autowired private BaomingjiluService baomingjiluService; /** * 后台列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,BaomingjiluEntity baomingjilu, HttpServletRequest request){ String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { baomingjilu.setYonghuzhanghao((String)request.getSession().getAttribute("username")); } //设置查询条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); //查询结果 PageUtils page = baomingjiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baomingjilu), params), params)); Map<String, String> deSens = new HashMap<>(); //给需要脱敏的字段脱敏 DeSensUtil.desensitize(page,deSens); return R.ok().put("data", page); } /** * 前台列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,BaomingjiluEntity baomingjilu, @RequestParam(required = false) Double kebaomingrenshustart, @RequestParam(required = false) Double kebaomingrenshuend, @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date baomingshijianstart, @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date baomingshijianend, HttpServletRequest request){ //设置查询条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); if(kebaomingrenshustart!=null) ew.ge("kebaomingrenshu", kebaomingrenshustart); if(kebaomingrenshuend!=null) ew.le("kebaomingrenshu", kebaomingrenshuend); if(baomingshijianstart!=null) ew.ge("baomingshijian", baomingshijianstart); if(baomingshijianend!=null) ew.le("baomingshijian", baomingshijianend); //查询结果 PageUtils page = baomingjiluService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baomingjilu), params), params)); Map<String, String> deSens = new HashMap<>(); //给需要脱敏的字段脱敏 DeSensUtil.desensitize(page,deSens); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( BaomingjiluEntity baomingjilu){ QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); ew.allEq(MPUtil.allEQMapPre( baomingjilu, "baomingjilu")); return R.ok().put("data", baomingjiluService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(BaomingjiluEntity baomingjilu){ QueryWrapper< BaomingjiluEntity> ew = new QueryWrapper< BaomingjiluEntity>(); ew.allEq(MPUtil.allEQMapPre( baomingjilu, "baomingjilu")); BaomingjiluView baomingjiluView = baomingjiluService.selectView(ew); return R.ok("查询报名记录成功").put("data", baomingjiluView); } /** * 后台详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ BaomingjiluEntity baomingjilu = baomingjiluService.getById(id); Map<String, String> deSens = new HashMap<>(); //给需要脱敏的字段脱敏 DeSensUtil.desensitize(baomingjilu,deSens); return R.ok().put("data", baomingjilu); } /** * 前台详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ BaomingjiluEntity baomingjilu = baomingjiluService.getById(id); Map<String, String> deSens = new HashMap<>(); //给需要脱敏的字段脱敏 DeSensUtil.desensitize(baomingjilu,deSens); return R.ok().put("data", baomingjilu); } /** * 后台保存 */ @RequestMapping("/save") public R save(@RequestBody BaomingjiluEntity baomingjilu, HttpServletRequest request){ //ValidatorUtils.validateEntity(baomingjilu); baomingjiluService.save(baomingjilu); return R.ok().put("data",baomingjilu.getId()); } /** * 前台保存 */ @RequestMapping("/add") public R add(@RequestBody BaomingjiluEntity baomingjilu, HttpServletRequest request){ //ValidatorUtils.validateEntity(baomingjilu); baomingjiluService.save(baomingjilu); return R.ok().put("data",baomingjilu.getId()); } /** * 修改 */ @RequestMapping("/update") @Transactional public R update(@RequestBody BaomingjiluEntity baomingjilu, HttpServletRequest request){ //ValidatorUtils.validateEntity(baomingjilu); //全部更新 baomingjiluService.updateById(baomingjilu); return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ baomingjiluService.removeBatchByIds(Arrays.asList(ids)); return R.ok(); } // hasAlipay:否 /** * (按值统计) */ @RequestMapping("/value/{xColumnName}/{yColumnName}") public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @RequestParam(required = false) String conditionColumn, @RequestParam(required = false) String conditionValue, @RequestParam(required = false, defaultValue = "总和") String func, HttpServletRequest request) throws IOException { //读取文件,如果文件存在,则优先返回文件内容 java.nio.file.Path path = java.nio.file.Paths.get("value_baomingjilu_" + xColumnName + "_" + yColumnName + "_timeType.json"); if(java.nio.file.Files.exists(path)) { String content = new String(java.nio.file.Files.readAllBytes(path), java.nio.charset.StandardCharsets.UTF_8); return R.ok().put("data", (new org.json.JSONArray(content)).toList()); } //构建查询统计条件 Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); params.put("yColumn", yColumnName); params.put("method", func); QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); String order = request.getParameter("order"); if (StringUtils.isNotBlank(order)) { String orderType = request.getParameter("orderType"); if (null != orderType) { if (order.equals("asc")) { ew.orderByAsc(orderType.equals("x") ? xColumnName : yColumnName); } else { ew.orderByDesc(orderType.equals("x") ? xColumnName :yColumnName); } } } if(StringUtils.isNotBlank(conditionColumn)&&StringUtils.isNotBlank(conditionValue)) { String[] conditionColumns = conditionColumn.split(";"); String[] conditionValues = conditionValue.split(";"); for (int i = 0; i < conditionColumns.length; i++) { String column = conditionColumns[i]; String value = conditionValues[i]; // 处理范围查询:如果列名包含逗号,表示是范围查询 if (column.contains(",")) { String[] rangeColumns = column.split(","); String[] rangeValues = value.split(","); if (rangeColumns.length == 2 && rangeValues.length == 2) { // 第一个列名使用 >= 条件 ew.ge(rangeColumns[0], rangeValues[0]); // 第二个列名使用 <= 条件 ew.le(rangeColumns[1], rangeValues[1]); } } else { // 普通等值查询 ew.eq(column, value); } } } String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username")); } //获取结果 List<Map<String, Object>> result = baomingjiluService.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, @RequestParam(required = false) String conditionColumn, @RequestParam(required = false) String conditionValue, HttpServletRequest request) throws IOException { //读取文件,如果文件存在,则优先返回文件内容 java.nio.file.Path path = java.nio.file.Paths.get("value_baomingjilu_" + xColumnName + "_" + String.join("_", yColumnNameMul.split(",")) + "_timeType.json"); if(java.nio.file.Files.exists(path)) { String content = new String(java.nio.file.Files.readAllBytes(path), java.nio.charset.StandardCharsets.UTF_8); return R.ok().put("data", (new org.json.JSONArray(content)).toList()); } String[] yColumnNames = yColumnNameMul.split(","); Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); //构建查询统计条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); String order = request.getParameter("order"); if (StringUtils.isNotBlank(order)) { String orderType = request.getParameter("orderType"); if (null != orderType) { if (order.equals("asc")) { ew.orderByAsc(orderType.equals("x") ? Arrays.asList(xColumnName) : Arrays.asList(yColumnNames)); } else { ew.orderByDesc(orderType.equals("x") ? Arrays.asList(xColumnName) : Arrays.asList(yColumnNames)); } } } if(StringUtils.isNotBlank(conditionColumn)&&StringUtils.isNotBlank(conditionValue)) { String[] conditionColumns = conditionColumn.split(";"); String[] conditionValues = conditionValue.split(";"); for (int i = 0; i < conditionColumns.length; i++) { String column = conditionColumns[i]; String value = conditionValues[i]; // 处理范围查询:如果列名包含逗号,表示是范围查询 if (column.contains(",")) { String[] rangeColumns = column.split(","); String[] rangeValues = value.split(","); if (rangeColumns.length == 2 && rangeValues.length == 2) { // 第一个列名使用 >= 条件 ew.ge(rangeColumns[0], rangeValues[0]); // 第二个列名使用 <= 条件 ew.le(rangeColumns[1], rangeValues[1]); } } else { // 普通等值查询 ew.eq(column, value); } } } List<List<Map<String, Object>>> result2 = new ArrayList<List<Map<String,Object>>>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username")); } for(int i=0;i<yColumnNames.length;i++) { params.put("yColumn", yColumnNames[i]); List<Map<String, Object>> result = baomingjiluService.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, @RequestParam(required = false) String conditionColumn, @RequestParam(required = false) String conditionValue, @RequestParam(required = false, defaultValue = "总和") String func, HttpServletRequest request) throws IOException { //读取文件,如果文件存在,则优先返回文件内容 java.nio.file.Path path = java.nio.file.Paths.get("value_baomingjilu_" + xColumnName + "_" + yColumnName + "_"+timeStatType+".json"); if(java.nio.file.Files.exists(path)) { String content = new String(java.nio.file.Files.readAllBytes(path), java.nio.charset.StandardCharsets.UTF_8); return R.ok().put("data", (new org.json.JSONArray(content)).toList()); } Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); params.put("yColumn", yColumnName); params.put("timeStatType", timeStatType); params.put("method", func); //构建查询统计条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); String order = request.getParameter("order"); if (StringUtils.isNotBlank(order)) { String orderType = request.getParameter("orderType"); if (null != orderType) { if (order.equals("asc")) { ew.orderByAsc(orderType.equals("x") ? xColumnName : yColumnName); } else { ew.orderByDesc(orderType.equals("x") ? xColumnName :yColumnName); } } } if(StringUtils.isNotBlank(conditionColumn)&&StringUtils.isNotBlank(conditionValue)) { String[] conditionColumns = conditionColumn.split(";"); String[] conditionValues = conditionValue.split(";"); for (int i = 0; i < conditionColumns.length; i++) { String column = conditionColumns[i]; String value = conditionValues[i]; // 处理范围查询:如果列名包含逗号,表示是范围查询 if (column.contains(",")) { String[] rangeColumns = column.split(","); String[] rangeValues = value.split(","); if (rangeColumns.length == 2 && rangeValues.length == 2) { // 第一个列名使用 >= 条件 ew.ge(rangeColumns[0], rangeValues[0]); // 第二个列名使用 <= 条件 ew.le(rangeColumns[1], rangeValues[1]); } } else { // 普通等值查询 ew.eq(column, value); } } } String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username")); } List<Map<String, Object>> result = baomingjiluService.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, @RequestParam(required = false) String conditionColumn, @RequestParam(required = false) String conditionValue, HttpServletRequest request) throws IOException { //读取文件,如果文件存在,则优先返回文件内容 java.nio.file.Path path = java.nio.file.Paths.get("value_baomingjilu_" + xColumnName + "_" + String.join("_", yColumnNameMul.split(",")) + ".json"); if (java.nio.file.Files.exists(path)) { String content = new String(java.nio.file.Files.readAllBytes(path), java.nio.charset.StandardCharsets.UTF_8); return R.ok().put("data", (new org.json.JSONArray(content)).toList()); } String[] yColumnNames = yColumnNameMul.split(","); Map<String, Object> params = new HashMap<String, Object>(); params.put("xColumn", xColumnName); params.put("timeStatType", timeStatType); //构建查询统计条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); String order = request.getParameter("order"); if (StringUtils.isNotBlank(order)) { String orderType = request.getParameter("orderType"); if (null != orderType) { if (order.equals("asc")) { ew.orderByAsc(orderType.equals("x") ? Arrays.asList(xColumnName) : Arrays.asList(yColumnNames)); } else { ew.orderByDesc(orderType.equals("x") ? Arrays.asList(xColumnName) : Arrays.asList(yColumnNames)); } } } if(StringUtils.isNotBlank(conditionColumn)&&StringUtils.isNotBlank(conditionValue)) { String[] conditionColumns = conditionColumn.split(";"); String[] conditionValues = conditionValue.split(";"); for (int i = 0; i < conditionColumns.length; i++) { String column = conditionColumns[i]; String value = conditionValues[i]; // 处理范围查询:如果列名包含逗号,表示是范围查询 if (column.contains(",")) { String[] rangeColumns = column.split(","); String[] rangeValues = value.split(","); if (rangeColumns.length == 2 && rangeValues.length == 2) { // 第一个列名使用 >= 条件 ew.ge(rangeColumns[0], rangeValues[0]); // 第二个列名使用 <= 条件 ew.le(rangeColumns[1], rangeValues[1]); } } else { // 普通等值查询 ew.eq(column, value); } } } List<List<Map<String, Object>>> result2 = new ArrayList<List<Map<String,Object>>>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username")); } for(int i=0;i<yColumnNames.length;i++) { params.put("yColumn", yColumnNames[i]); List<Map<String, Object>> result = baomingjiluService.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, @RequestParam(required = false) String conditionColumn, @RequestParam(required = false) String conditionValue, HttpServletRequest request) throws IOException { //读取文件,如果文件存在,则优先返回文件内容 java.nio.file.Path path = java.nio.file.Paths.get("group_baomingjilu_" + columnName + "_timeType.json"); if(java.nio.file.Files.exists(path)){ String content = new String(java.nio.file.Files.readAllBytes(path), java.nio.charset.StandardCharsets.UTF_8); return R.ok().put("data", (new org.json.JSONArray(content)).toList()); } Map<String, Object> params = new HashMap<String, Object>(); params.put("column", columnName); //构建查询统计条件 QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); if(StringUtils.isNotBlank(conditionColumn)&&StringUtils.isNotBlank(conditionValue)) { String[] conditionColumns = conditionColumn.split(";"); String[] conditionValues = conditionValue.split(";"); for (int i = 0; i < conditionColumns.length; i++) { String column = conditionColumns[i]; String value = conditionValues[i]; // 处理范围查询:如果列名包含逗号,表示是范围查询 if (column.contains(",")) { String[] rangeColumns = column.split(","); String[] rangeValues = value.split(","); if (rangeColumns.length == 2 && rangeValues.length == 2) { // 第一个列名使用 >= 条件 ew.ge(rangeColumns[0], rangeValues[0]); // 第二个列名使用 <= 条件 ew.le(rangeColumns[1], rangeValues[1]); } } else { // 普通等值查询 ew.eq(column, value); } } } String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { ew.eq("yonghuzhanghao", (String)request.getSession().getAttribute("username")); } List<Map<String, Object>> result = baomingjiluService.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,BaomingjiluEntity baomingjilu, HttpServletRequest request){ String tableName = request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")) { baomingjilu.setYonghuzhanghao((String)request.getSession().getAttribute("username")); } QueryWrapper<BaomingjiluEntity> ew = new QueryWrapper<BaomingjiluEntity>(); long count = baomingjiluService.count(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, baomingjilu), params), params)); return R.ok().put("data", count); } }五,相关作品展示
基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目
基于Nodejs、Vue等前端技术开发的前端实战项目
基于微信小程序和安卓APP应用开发的相关作品
基于51单片机等嵌入式物联网开发应用
基于各类算法实现的AI智能应用
基于大数据实现的各类数据管理和推荐系统