一、源码特点
springboot VUE 课程设计管理系统是一套完善的完整信息管理类型系统,结合springboot框架和VUE完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
springboot VUE 课程设计管理系统1
前段主要技术 vue
后端主要技术 Springboot java
数据库 sqlserver
开发工具 IDEA JDK1.8
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以 不建议。
2.IDE环境:推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可,本系统不需要
4.硬件环境:windows 7/8/10 1G内存以上;;
5.数据库:sqlserver企业版等版本均可;
6.maven项目
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目;
3. 将项目中kcsj\src\main\resources 下的 application.properties 配置文件中的数据库配置改为自己的配置;
数据库支持sqlserver
4.vscode 开vue项目工程
5.vue 项目启动 npm run serve
vue 版本 2.9.6
node 版本 16.14.2
二、功能介绍
(1)教师管理:对教师信息进行添加、删除、修改和查看
(2)学生管理:对学生信息进行添加、删除、修改和查看
(3)课程管理:对课程信息进行添加、删除、修改和查看
(4)设计项目管理:对设计项目信息进行添加、删除、修改和查看
(5)选题管理:对选题信息进行添加、删除、修改和查看
(6)团队管理:对团队信息进行添加、删除、修改和查看
(7)组员管理:对组员信息进行添加、删除、修改和查看
(8)用户登录 个人信息修改
后端代码
@GetMapping("list")
public Result list(@RequestParam(value = "pageNum",defaultValue = "1") int page,
@RequestParam(value = "pageSize",defaultValue = "10") int szie,
@RequestParam(defaultValue = "") String kcmc,
@RequestParam(defaultValue = "") String js
) {
Result res=new Result();
List list=null;
String sql="";
try{
if(js!=null&&!js.equals("")){
sql+=" and js like '"+js+"'";//符合条件 拼接sql 课程名称
}
if(kcmc!=null&&!kcmc.equals("")){
sql+=" and kcmc like '%"+kcmc+"%'";//符合条件 拼接sql 课程名称
}
list=kechengdao.querylist(sql,page,szie);//查询kecheng表数据返回 list对象
res.setCode(200);
res.setMessage("查询成功");
res.setData(tl.ltoj(list));
list=kechengdao.querylist(sql);
res.setNum(list.size());
}catch(Exception e){
e.printStackTrace();;
}
return res;
}
/**课程列表 查询kecheng
*
*/
@GetMapping("listpage")
public Result listpage(
@RequestParam(defaultValue = "") String kcmc,
@RequestParam(defaultValue = "") String js
) {
Result res=new Result();
List list=null;
String sql="";
if(kcmc!=null&&!kcmc.equals("")){
sql+=" and kcmc like '%"+kcmc+"%'";//符合条件 拼接sql 课程名称
}
if(js!=null&&!js.equals("")){
sql+=" and js like '"+js+"'";//符合条件 拼接sql 课程名称
}
try{
list=kechengdao.querylist(sql);//查询gly 表数据返回 list对象
res.setCode(200);
res.setMessage("查询成功");
res.setData(tl.ltoj(list));
}catch(Exception e){
e.printStackTrace();;
}
return res;
}
/**课程添加方法 对表 kecheng 进行添加
*
*/
@PostMapping(value = "add")
public Result add(@RequestBody kecheng bean){
Result res=new Result();
try{
if(bean.getKcid()!=null&&!bean.getKcid().equals("")){
kechengdao.update(bean);//执行 修改 kecheng 添加操作
res.setMessage("操作成功");
}else{
kechengdao.add(bean);//执行 添加kecheng 添加操作
res.setMessage("添加成功");
}
}catch(Exception e){
e.printStackTrace();;
}
res.setCode(200);
//System.out.println(res);
return res;
}
/**课程删除方法 对表kecheng 进行删除
*
*/
@DeleteMapping("del/{id}")
public Result del( @PathVariable String id){
Result res=new Result();
try{
kechengdao.delete(id);//执行 删除kecheng 方法
}catch(Exception e){
e.printStackTrace();;
}
res.setCode(200);
res.setMessage("删除成功");
return res;
}
/**课程查看方法 对表 kecheng 进行查看
*
*/
@GetMapping("detail/{id}")
public Result detail(@RequestParam String id){
Result res=new Result();
Map<String, String> map = new HashMap<>();
kecheng bean=new kecheng();//初始对象课程
try{
map=kechengdao.getkechengMap(id);//查询获得当前课程对象
res.setCode(200);
res.setMessage("查询成功");
res.setData(tl.mtoj(map));
System.out.println(tl.mtoj(map));
}catch(Exception e){
e.printStackTrace();;
}
return res;
}
/**课程修改页面 对表 kecheng 进行查看
*
*/
@GetMapping("modifypage")
public Result modifypage(@RequestParam String id){
Result res=new Result();
Map<String, String> map = new HashMap<>();
tool tl=new tool();
try{
map=kechengdao.getkechengMap(id);//获取kecheng 对象
//String str=obj.toString();
res.setCode(200);
res.setMessage("查询成功");
res.setData(tl.mtoj(map));//赋值
}catch(Exception e){
e.printStackTrace();;
}
return res;
}
前段代码
<el-table :data="tableData" border stripe :header-cell-class-name="'headerBg'" @selection-change="handleSelectionChange">
<el-table-column label="序号" width="80"
type="index"
:index="indexMethod">
</el-table-column>
<el-table-column prop="mc" label="名称" width="120"></el-table-column>
<el-table-column prop="dz" label="队长" width="120"></el-table-column>
<el-table-column prop="zt" label="状态" width="120"></el-table-column>
<el-table-column prop="cjsj" label="创建时间" width="220"></el-table-column>
<el-table-column label="操作" width="280" align="center">
<template slot-scope="scope">
<el-button type="info" @click="handleDetail(scope.row)">详情 <i class="el-icon-reading"></i></el-button>
<el-popconfirm
class="ml-5"
confirm-button-text='确定'
cancel-button-text='我再想想'
icon="el-icon-info"
icon-color="red"
title="您确定删除吗?"
@confirm="del(scope.row.tdid)"
>
<el-button type="danger" slot="reference" v-if=" scope.row.zt == '申请'">删除 <i class="el-icon-remove-outline"></i></el-button>
</el-popconfirm>
</template>
</el-table-column>
</el-table>
<div style="padding: 10px 0">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="pageNum"
:page-sizes="[2, 5, 10, 20]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
<el-dialog title="团队信息" :visible.sync="dialogFormVisible" width="30%" >
<el-form :model="form" :rules="rules" ref="beanForm" label-width="80px" size="small" >
<el-form-item label="名称" prop="mc" >
<el-input v-model="form.mc" ></el-input>
</el-form-item>
<el-form-item label="介绍" prop="js" >
<el-input type="textarea" :rows="3" v-model="form.js" ></el-input>
</el-form-item>
<el-form-item label="队长" prop="dz" >
<el-input v-model="form.dz" disabled ></el-input>
</el-form-item>
<el-form-item label="状态" prop="zt" >
<el-input v-model="form.zt" disabled ></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="cjsj" >
<el-input v-model="form.cjsj" disabled ></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="save">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="查看团队信息" :visible.sync="dialogDetailVisible" width="30%" >
<el-form :model="form" :rules="rules" ref="beanForm" label-width="80px" size="small" >
<el-form-item label="名称" prop="mc" required>
{{form.mc}}
</el-form-item>
<el-form-item label="介绍" prop="js" required>
{{form.js}}
</el-form-item>
<el-form-item label="队长" prop="dz" required>
{{form.dz}}
</el-form-item>
<el-form-item label="状态" prop="zt" required>
{{form.zt}}
</el-form-item>
<el-form-item label="创建时间" prop="cjsj" required>
{{form.cjsj}}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogDetailVisible = false">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {serverIp} from "../../public/config";
function CurentTime()
{
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var hh = now.getHours(); //时
var mm = now.getMinutes(); //分
var clock = year + "-";
if(month < 10)
clock += "0";
clock += month + "-";
if(day < 10)
clock += "0";
clock += day + " ";
if(hh < 10)
clock += "0";
clock += hh + ":";
if (mm < 10) clock += '0';
clock += mm;
return(clock);
}
export default {
name: "tuandui",
data() {
return {
serverIp: serverIp,
tableData: [],
total: 0,
pageNum: 1,
pageSize: 10,
mc: "",
form: {},
dialogFormVisible: false,
dialogDetailVisible:false,
multipleSelection: [],
vis: false,
rules: {
mc: [
{ required: true, message: '请输入名称', trigger: 'blur' }
],
js: [
{ required: true, message: '请输入介绍', trigger: 'blur' }
],
dz: [
{ required: true, message: '请输入队长', trigger: 'blur' }
],
zt: [
{ required: true, message: '请输入状态', trigger: 'blur' }
],
cjsj: [
{ required: true, message: '请输入创建时间', trigger: 'blur' }
],
}
}
},
created() {
this.load()
},
methods: {
indexMethod(index) {
return index+1;
},
load() {
this.request.get("/tuandui/list", {
params: {
pageNum: this.pageNum,
pageSize: this.pageSize,
mc: this.mc,
dz: localStorage.getItem("yhm"),
}
}).then(res => {
console.log(res.data)
this.tableData = JSON.parse(res.data)
this.total =res.num
数据库设计
BEGIN
CREATE TABLE [dbo].[jiaoshi]([jsid] [int] IDENTITY(1,1) NOT NULL,
[yhm] [VARCHAR](40),
[mm] [VARCHAR](40),
[xm] [VARCHAR](40),
[lxdh] [VARCHAR](40),
[lxdz] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'jiaoshi', @level2type=N'COLUMN', @level2name=N'yhm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'密码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'jiaoshi', @level2type=N'COLUMN', @level2name=N'mm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'jiaoshi', @level2type=N'COLUMN', @level2name=N'xm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系电话' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'jiaoshi', @level2type=N'COLUMN', @level2name=N'lxdh'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系地址' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'jiaoshi', @level2type=N'COLUMN', @level2name=N'lxdz'
BEGIN
CREATE TABLE [dbo].[xuesheng]([xsid] [int] IDENTITY(1,1) NOT NULL,
[yhm] [VARCHAR](40),
[mm] [VARCHAR](40),
[xm] [VARCHAR](40),
[xh] [VARCHAR](40),
[szx] [VARCHAR](40),
[bj] [VARCHAR](40),
[nl] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'yhm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'密码' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'mm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'xm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学号' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'xh'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所在系' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'szx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'班级' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'bj'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuesheng', @level2type=N'COLUMN', @level2name=N'nl'
BEGIN
CREATE TABLE [dbo].[kecheng]([kcid] [int] IDENTITY(1,1) NOT NULL,
[kcmc] [VARCHAR](40),
[jsh] [VARCHAR](4000),
[js] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'课程名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'kecheng', @level2type=N'COLUMN', @level2name=N'kcmc'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'介绍' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'kecheng', @level2type=N'COLUMN', @level2name=N'jsh'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'教师' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'kecheng', @level2type=N'COLUMN', @level2name=N'js'
BEGIN
CREATE TABLE [dbo].[sjxm]([sjxmid] [int] IDENTITY(1,1) NOT NULL,
[xmmc] [VARCHAR](40),
[kc] [VARCHAR](40),
[jsh] [VARCHAR](4000),
[sm] [VARCHAR](40),
[js] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'sjxm', @level2type=N'COLUMN', @level2name=N'xmmc'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'课程' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'sjxm', @level2type=N'COLUMN', @level2name=N'kc'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'介绍' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'sjxm', @level2type=N'COLUMN', @level2name=N'jsh'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'说明' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'sjxm', @level2type=N'COLUMN', @level2name=N'sm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'教师' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'sjxm', @level2type=N'COLUMN', @level2name=N'js'
BEGIN
CREATE TABLE [dbo].[xuanti]([xtid] [int] IDENTITY(1,1) NOT NULL,
[xm] [VARCHAR](40),
[td] [VARCHAR](40),
[zt] [VARCHAR](40),
[xtsj] [VARCHAR](40),
[df] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuanti', @level2type=N'COLUMN', @level2name=N'xm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'团队' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuanti', @level2type=N'COLUMN', @level2name=N'td'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuanti', @level2type=N'COLUMN', @level2name=N'zt'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'选题时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuanti', @level2type=N'COLUMN', @level2name=N'xtsj'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'得分' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'xuanti', @level2type=N'COLUMN', @level2name=N'df'
BEGIN
CREATE TABLE [dbo].[tuandui]([tdid] [int] IDENTITY(1,1) NOT NULL,
[mc] [VARCHAR](40),
[js] [VARCHAR](40),
[dz] [VARCHAR](40),
[zt] [VARCHAR](40),
[cjsj] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名称' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tuandui', @level2type=N'COLUMN', @level2name=N'mc'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'介绍' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tuandui', @level2type=N'COLUMN', @level2name=N'js'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'队长' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tuandui', @level2type=N'COLUMN', @level2name=N'dz'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tuandui', @level2type=N'COLUMN', @level2name=N'zt'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'tuandui', @level2type=N'COLUMN', @level2name=N'cjsj'
BEGIN
CREATE TABLE [dbo].[zuyuan]([zyid] [int] IDENTITY(1,1) NOT NULL,
[td] [VARCHAR](40),
[xs] [VARCHAR](40),
[sx] [VARCHAR](40),
[zt] [VARCHAR](40),
[sm] [VARCHAR](40),
[jrsj] [VARCHAR](40),
) ON [PRIMARY]
END
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'团队' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'td'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'xs'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'属性' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'sx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'zt'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'说明' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'sm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'加入时间' ,@level0type=N'SCHEMA', @level0name=N'dbo', @level1type=N'TABLE', @level1name=N'zuyuan', @level2type=N'COLUMN', @level2name=N'jrsj'
三、注意事项
1、管理员账号:admin密码:admin 数据库配置文件DBO.java
2、开发环境为IDEA开发,数据库为sqlserver,使用java语言开发 VUE展现。
3、数据库文件名是jspkcsj.mdf系统名称kcsj
4、地址:http://128.0.0.1:8080/login
四系统实现