亚马逊 怎么做国外网站,wordpress 站点地址,网站访问工具,做房地产咨询网站怎么赢利一、项目介绍 基于Spring BootVue小程序的在线学习平台从实际情况出发#xff0c;结合当前年轻人的学习环境喜好来开发。基于Spring BootVue小程序的在线学习平台在语言上使用Java语言进行开发#xff0c;在数据库存储方面使用的MySQL数据库#xff0c;开发工具是IDEA。…一、项目介绍 基于Spring BootVue小程序的在线学习平台从实际情况出发结合当前年轻人的学习环境喜好来开发。基于Spring BootVue小程序的在线学习平台在语言上使用Java语言进行开发在数据库存储方面使用的MySQL数据库开发工具是IDEA。 功能丰富项目保证质量需要可以最底下查看QQ二维码找我私聊。运行讲解服务均可有尝提供即便你是零基础也能听懂的优秀讲解老师。 功能: 1.个人中心修改密码里查看个人信息 2.教师管理 3.学生管理 4.课程视频管理 5.课程签到管理 6.课程问题管理 7.课程答题管理 8.答题成绩管理 9.课程类型管理 10.课程资料管理 11.通知信息管理 12.加入课程管理 13.学习论坛管理 14.课程考试管理 15.试题管理 16.系统简介轮播图平台公告关于我们管理 17.考试管理
关键词商品购物Spring Boot框架MySQL
二、开发环境 开发语言Java 框架springboot vue 小程序 JDK版本JDK1.8 数据库mysql 数据库工具Navicat11 开发软件idea/vscode/eclipse Maven包Maven 表结构示例 表名kechengxinxi
功能课程信息 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP kechengbianhao varchar 200 课程编号 kechengmingcheng varchar 200 课程名称 kechengleixing varchar 200 课程类型 keshi varchar 200 课时 xuefen varchar 200 学分 kechengtupian longtext 4294967295 课程图片 shangkeshijian varchar 200 上课时间 shangkedidian varchar 200 上课地点 jiaoshigonghao varchar 200 教师工号 jiaoshixingming varchar 200 教师姓名 kechengjieshao longtext 4294967295 课程介绍 表名discusskechengshipin
功能课程视频评论表 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP refid bigint 关联表id userid bigint 用户id avatarurl longtext 4294967295 头像 nickname varchar 200 用户名 content longtext 4294967295 评论内容 reply longtext 4294967295 回复内容 表名kechengqiandao
功能课程签到 字段名称 类型 长度 字段说明 主键 默认值 id bigint 主键 主键 addtime timestamp 创建时间 CURRENT_TIMESTAMP kechengbianhao varchar 200 课程编号 kechengmingcheng varchar 200 课程名称 kechengtupian longtext 4294967295 课程图片 kechengleixing varchar 200 课程类型 jiaoshigonghao varchar 200 教师工号 jiaoshixingming varchar 200 教师姓名 zhangcheng varchar 200 章程 xuehao varchar 200 学号 xueshengxingming varchar 200 学生姓名 xueshengshouji varchar 200 学生手机 zhuanye varchar 200 专业 banji varchar 200 班级 qiandaoshijian datetime 签到时间 kechengxinde longtext 4294967295 课程心得
代码示例一课程信息代码
package com.controller;import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
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.KechengxinxiEntity;
import com.entity.view.KechengxinxiView;import com.service.KechengxinxiService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MPUtil;/*** 课程信息* 后端接口*/
RestController
RequestMapping(/kechengxinxi)
public class KechengxinxiController {Autowiredprivate KechengxinxiService kechengxinxiService;/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params, KechengxinxiEntity kechengxinxi,HttpServletRequest request) {String tableName request.getSession().getAttribute(tableName).toString();if (tableName.equals(jiaoshi)) {kechengxinxi.setJiaoshigonghao((String) request.getSession().getAttribute(username));}EntityWrapperKechengxinxiEntity ew new EntityWrapperKechengxinxiEntity();PageUtils page kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));return R.ok().put(data, page);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params, KechengxinxiEntity kechengxinxi,HttpServletRequest request) {EntityWrapperKechengxinxiEntity ew new EntityWrapperKechengxinxiEntity();PageUtils page kechengxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, kechengxinxi), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list(KechengxinxiEntity kechengxinxi) {EntityWrapperKechengxinxiEntity ew new EntityWrapperKechengxinxiEntity();ew.allEq(MPUtil.allEQMapPre(kechengxinxi, kechengxinxi));return R.ok().put(data, kechengxinxiService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(KechengxinxiEntity kechengxinxi) {EntityWrapperKechengxinxiEntity ew new EntityWrapperKechengxinxiEntity();ew.allEq(MPUtil.allEQMapPre(kechengxinxi, kechengxinxi));KechengxinxiView kechengxinxiView kechengxinxiService.selectView(ew);return R.ok(查询课程信息成功).put(data, kechengxinxiView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id) {KechengxinxiEntity kechengxinxi kechengxinxiService.selectById(id);return R.ok().put(data, kechengxinxi);}/*** 前端详情*/IgnoreAuthRequestMapping(/detail/{id})public R detail(PathVariable(id) Long id) {KechengxinxiEntity kechengxinxi kechengxinxiService.selectById(id);return R.ok().put(data, kechengxinxi);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {kechengxinxi.setId(new Date().getTime() new Double(Math.floor(Math.random() * 1000)).longValue());//ValidatorUtils.validateEntity(kechengxinxi);kechengxinxiService.insert(kechengxinxi);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {kechengxinxi.setId(new Date().getTime() new Double(Math.floor(Math.random() * 1000)).longValue());//ValidatorUtils.validateEntity(kechengxinxi);kechengxinxiService.insert(kechengxinxi);return R.ok();}/*** 修改*/RequestMapping(/update)Transactionalpublic R update(RequestBody KechengxinxiEntity kechengxinxi, HttpServletRequest request) {kechengxinxiService.updateById(kechengxinxi);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids) {kechengxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/RequestMapping(/remind/{columnName}/{type})public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request,PathVariable(type) String type, RequestParam MapString, Object map) {map.put(column, columnName);map.put(type, type);if (type.equals(2)) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Calendar c Calendar.getInstance();Date remindStartDate null;Date remindEndDate null;if (map.get(remindstart) ! null) {Integer remindStart Integer.parseInt(map.get(remindstart).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH, remindStart);remindStartDate c.getTime();map.put(remindstart, sdf.format(remindStartDate));}if (map.get(remindend) ! null) {Integer remindEnd Integer.parseInt(map.get(remindend).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH, remindEnd);remindEndDate c.getTime();map.put(remindend, sdf.format(remindEndDate));}}WrapperKechengxinxiEntity wrapper new EntityWrapperKechengxinxiEntity();if (map.get(remindstart) ! null) {wrapper.ge(columnName, map.get(remindstart));}if (map.get(remindend) ! null) {wrapper.le(columnName, map.get(remindend));}String tableName request.getSession().getAttribute(tableName).toString();if (tableName.equals(jiaoshi)) {wrapper.eq(jiaoshigonghao, (String) request.getSession().getAttribute(username));}int count kechengxinxiService.selectCount(wrapper);return R.ok().put(count, count);}
} template v-ifshowFlagel-form classcenter-form-pv :style{margin:0 0 30px} :inlinetrue :modelsearchFormel-row :style{padding:10px,borderRadius:3px,background:#fff,display:block}div :style{margin:0 10px 0 0,display:inline-block}label:style{margin:0 10px 0 0,color:#666,display:inline-block,lineHeight:40px,fontSize:14px,fontWeight:500,height:40px}classitem-label课程名称/labelel-input v-modelsearchForm.kechengmingcheng placeholder课程名称 clearable/el-input/divdiv :style{margin:0 10px 0 0,display:inline-block} classselect label课程类型propkechengleixinglabel:style{margin:0 10px 0 0,color:#666,display:inline-block,lineHeight:40px,fontSize:14px,fontWeight:500,height:40px}classitem-label课程类型/labelel-select changekechengleixingChange clearable v-modelsearchForm.kechengleixingplaceholder请选择课程类型el-option v-for(item,index) in kechengleixingOptions v-bind:keyindex :labelitem:valueitem/el-option/el-select/divdiv :style{margin:0 10px 0 0,display:inline-block}label:style{margin:0 10px 0 0,color:#666,display:inline-block,lineHeight:40px,fontSize:14px,fontWeight:500,height:40px}classitem-label教师姓名/labelel-input v-modelsearchForm.jiaoshixingming placeholder教师姓名 clearable/el-input/divel-button:style{border:1px solid #5494cb,cursor:pointer,padding:0 34px,outline:none,margin:0 0px 0 10px,color:#fff,borderRadius:4px,background:-webkit-linear-gradient(top,#66a4d8,#337ab7),width:auto,fontSize:14px,height:40px}typesuccess clicksearch()查询/el-button/el-rowel-row :style{margin:20px 0 20px 0,display:flex}el-button:style{border:0,cursor:pointer,padding:0 24px,margin:0 10px 0 0,outline:none,color:#fff,borderRadius:4px,background:rgba(64, 158, 255, 1),width:auto,fontSize:14px,height:40px}v-ifisAuth(kechengxinxi,新增) typesuccess clickaddOrUpdateHandler()新增/el-buttonel-button:style{border:0,cursor:pointer,padding:0 24px,margin:0 10px 0 0,outline:none,color:#fff,borderRadius:4px,background:rgba(255, 0, 0, 1),width:auto,fontSize:14px,height:40px}v-ifisAuth(kechengxinxi,删除) :disableddataListSelections.length 0 typedangerclickdeleteHandler()删除/el-button/el-row/el-form!-- div --el-table classtables:stripefalse:style{padding:0,borderColor:#eee,borderRadius:5px,borderWidth:1px 0 0 1px,background:#fff,width:100%,borderStyle:solid}v-ifisAuth(kechengxinxi,查看):datadataListv-loadingdataListLoadingselection-changeselectionChangeHandlerel-table-column :resizabletrue typeselection aligncenter width50/el-table-columnel-table-column :resizabletrue :sortablefalse label索引 typeindex width50/el-table-column :resizabletrue :sortablefalsepropkechengbianhaolabel课程编号template slot-scopescope{{ scope.row.kechengbianhao }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropkechengmingchenglabel课程名称template slot-scopescope{{ scope.row.kechengmingcheng }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropkechengleixinglabel课程类型template slot-scopescope{{ scope.row.kechengleixing }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropkeshilabel课时template slot-scopescope{{ scope.row.keshi }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropxuefenlabel学分template slot-scopescope{{ scope.row.xuefen }}/template/el-table-columnel-table-column :resizabletrue :sortablefalse propkechengtupian width200 label课程图片template slot-scopescopediv v-ifscope.row.kechengtupianimg v-ifscope.row.kechengtupian.substring(0,4)http :srcscope.row.kechengtupian.split(,)[0]width100 height100img v-else :src$base.urlscope.row.kechengtupian.split(,)[0] width100 height100/divdiv v-else无图片/div/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropshangkeshijianlabel上课时间template slot-scopescope{{ scope.row.shangkeshijian }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropshangkedidianlabel上课地点template slot-scopescope{{ scope.row.shangkedidian }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropjiaoshigonghaolabel教师工号template slot-scopescope{{ scope.row.jiaoshigonghao }}/template/el-table-columnel-table-column :resizabletrue :sortablefalsepropjiaoshixingminglabel教师姓名template slot-scopescope{{ scope.row.jiaoshixingming }}/template/el-table-columnel-table-column width300 label操作template slot-scopescopeel-button:style{border:1px solid #3ca512,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/ca1c191554d24b108bc94f4a2046d636.png) #41b314 no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-if isAuth(kechengxinxi,查看) typesuccess sizeminiclickaddOrUpdateHandler(scope.row.id,info)详情/el-buttonel-button:style{border:1px solid #3ca512,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/ca1c191554d24b108bc94f4a2046d636.png) #41b314 no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-ifisAuth(kechengxinxi,加入课程) typesuccess sizeminiclickjiarukechengCrossAddOrUpdateHandler(scope.row,cross,,,)加入课程/el-buttonel-button:style{border:1px solid #3ca512,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/ca1c191554d24b108bc94f4a2046d636.png) #41b314 no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-ifisAuth(kechengxinxi,发布视频) typesuccess sizeminiclickkechengshipinCrossAddOrUpdateHandler(scope.row,cross,,,)发布视频/el-buttonel-button:style{border:1px solid #3ca512,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/ca1c191554d24b108bc94f4a2046d636.png) #41b314 no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-ifisAuth(kechengxinxi,发布资料) typesuccess sizeminiclickkechengziliaoCrossAddOrUpdateHandler(scope.row,cross,,,)发布资料/el-buttonel-button:style{border:1px solid #00a0f0,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/161eb7a46f5d4cd19d68a1386174d662.png) #00aaff no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-if isAuth(kechengxinxi,修改) typeprimary sizeminiclickaddOrUpdateHandler(scope.row.id)修改/el-buttonel-button:style{border:1px solid #3ca512,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/ca1c191554d24b108bc94f4a2046d636.png) #41b314 no-repeat 5px 8px,width:auto,fontSize:12px,height:32px}v-ifisAuth(kechengxinxi,查看评论) typeprimary sizeminiclickdisscussListHandler(scope.row.id)查看评论/el-buttonel-button:style{border:0,cursor:pointer,padding:0 10px 0 24px,margin:3px 6px 3px 0,outline:none,color:#fff,borderRadius:4px,background:url(http://codegen.caihongy.cn/20221011/68bd264a8e4341c6aa5409f871d590d0.png) #d9534f no-repeat 5px 8px,width:auto,fontSize:14px,height:32px}v-ifisAuth(kechengxinxi,删除) typedanger sizemini clickdeleteHandler(scope.row.id)删除/el-button/template/el-table-column/el-tableel-paginationsize-changesizeChangeHandlecurrent-changecurrentChangeHandle:current-pagepageIndexbackground:page-sizes[10, 20, 30, 50]:page-sizepageSize:layoutlayouts.join():totaltotalPageprev-textnext-text:hide-on-single-pagetrue:style{width:100%,padding:0,margin:20px 0 0,whiteSpace:nowrap,color:#333,fontWeight:500}/el-pagination!-- /div --/template三.关于我的联系方式 文章转载自: http://www.morning.ypmqy.cn.gov.cn.ypmqy.cn http://www.morning.fgppj.cn.gov.cn.fgppj.cn http://www.morning.gnkbf.cn.gov.cn.gnkbf.cn http://www.morning.yqpck.cn.gov.cn.yqpck.cn http://www.morning.cmldr.cn.gov.cn.cmldr.cn http://www.morning.wjndl.cn.gov.cn.wjndl.cn http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.njqpg.cn.gov.cn.njqpg.cn http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn http://www.morning.sskhm.cn.gov.cn.sskhm.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.bsgfl.cn.gov.cn.bsgfl.cn http://www.morning.rdbj.cn.gov.cn.rdbj.cn http://www.morning.qbksx.cn.gov.cn.qbksx.cn http://www.morning.tlnkz.cn.gov.cn.tlnkz.cn http://www.morning.qxmys.cn.gov.cn.qxmys.cn http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com http://www.morning.qzzmc.cn.gov.cn.qzzmc.cn http://www.morning.cftkz.cn.gov.cn.cftkz.cn http://www.morning.tlbdy.cn.gov.cn.tlbdy.cn http://www.morning.nlbhj.cn.gov.cn.nlbhj.cn http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn http://www.morning.lwqst.cn.gov.cn.lwqst.cn http://www.morning.tjsxx.cn.gov.cn.tjsxx.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.ykqbs.cn.gov.cn.ykqbs.cn http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn http://www.morning.gqdsm.cn.gov.cn.gqdsm.cn http://www.morning.grwgw.cn.gov.cn.grwgw.cn http://www.morning.lhsdf.cn.gov.cn.lhsdf.cn http://www.morning.zgnng.cn.gov.cn.zgnng.cn http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn http://www.morning.xctdn.cn.gov.cn.xctdn.cn http://www.morning.mcjxq.cn.gov.cn.mcjxq.cn http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn http://www.morning.c7625.cn.gov.cn.c7625.cn http://www.morning.jpkhn.cn.gov.cn.jpkhn.cn http://www.morning.xlpdm.cn.gov.cn.xlpdm.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.krdb.cn.gov.cn.krdb.cn http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn http://www.morning.lkbdy.cn.gov.cn.lkbdy.cn http://www.morning.xphls.cn.gov.cn.xphls.cn http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn http://www.morning.nmrtb.cn.gov.cn.nmrtb.cn http://www.morning.ryrpq.cn.gov.cn.ryrpq.cn http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn http://www.morning.pxspq.cn.gov.cn.pxspq.cn http://www.morning.tpnxr.cn.gov.cn.tpnxr.cn http://www.morning.jbmsp.cn.gov.cn.jbmsp.cn http://www.morning.kdfqx.cn.gov.cn.kdfqx.cn http://www.morning.xcdph.cn.gov.cn.xcdph.cn http://www.morning.bxdlrcz.cn.gov.cn.bxdlrcz.cn http://www.morning.pqchr.cn.gov.cn.pqchr.cn http://www.morning.yhsrp.cn.gov.cn.yhsrp.cn http://www.morning.zpyxl.cn.gov.cn.zpyxl.cn http://www.morning.bfjyp.cn.gov.cn.bfjyp.cn http://www.morning.yodajy.cn.gov.cn.yodajy.cn http://www.morning.tpxgm.cn.gov.cn.tpxgm.cn http://www.morning.knczz.cn.gov.cn.knczz.cn http://www.morning.hdrrk.cn.gov.cn.hdrrk.cn http://www.morning.lnwdh.cn.gov.cn.lnwdh.cn http://www.morning.srnhk.cn.gov.cn.srnhk.cn http://www.morning.pzqnj.cn.gov.cn.pzqnj.cn http://www.morning.phechi.com.gov.cn.phechi.com http://www.morning.mhxlb.cn.gov.cn.mhxlb.cn http://www.morning.qftzk.cn.gov.cn.qftzk.cn http://www.morning.lpgw.cn.gov.cn.lpgw.cn http://www.morning.wqnc.cn.gov.cn.wqnc.cn http://www.morning.lkpzx.cn.gov.cn.lkpzx.cn http://www.morning.hrkth.cn.gov.cn.hrkth.cn http://www.morning.pqwrg.cn.gov.cn.pqwrg.cn http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.ngqty.cn.gov.cn.ngqty.cn http://www.morning.yhplt.cn.gov.cn.yhplt.cn http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn http://www.morning.zpstm.cn.gov.cn.zpstm.cn