java SSM教师业绩管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

news2024/11/24 16:35:35

一、源码特点
    java SSM教师业绩管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代
码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。

java ssm教师业绩管理系统


二、功能介绍
(1)管理员管理:对管理员信息进行添加、删除、修改和查看
(2)教师管理:对教师信息进行添加、删除、修改和查看
(3)学生管理:对学生信息进行添加、删除、修改和查看
(4)课程管理:对课程信息进行添加、删除、修改和查看
(5)课程执行管理:对课程执行信息进行添加、删除、修改和查看   
(6)用户登录、个人信息修改

数据库设计

(1)管理员信息表如表5.1所示:

表5.1 管理员信息表

序号

字段名称

数据类型

长度

主键

描述

1

glyid

INTEGER

11

管理员编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

(2)教师如表5.2所示:

表5.2 教师表

序号

字段名称

数据类型

长度

主键

描述

1

jsid

INTEGER

11

教师编号

2

jgh

VARCHAR

40

教工号

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

xb

VARCHAR

40

性别

6

xy

VARCHAR

40

学院

7

lxfs

VARCHAR

40

联系方式

(3)学生表如表5.3所示:

表5.3 学生表

序号

字段名称

数据类型

长度

主键

描述

1

xsid

INTEGER

11

学生编号

2

xh

VARCHAR

40

学号

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

nl

VARCHAR

40

年龄

6

xb

VARCHAR

40

性别

7

bj

VARCHAR

40

班级

8

lxfs

VARCHAR

40

联系方式

9

jtzz

VARCHAR

40

家庭住址

(4)课程表如表5.4所示:

表5.4 课程信息表

序号

字段名称

数据类型

长度

主键

描述

1

kcid

INTEGER

11

课程编号

2

kcmc

VARCHAR

40

课程名称

3

rkjs

VARCHAR

40

任课教师

4

dw

VARCHAR

40

单位

5

kkbj

VARCHAR

40

开课班级

6

kcsx

VARCHAR

40

课程属性

7

llxs

VARCHAR

40

理论学时

8

syxs

VARCHAR

40

实验学时

9

sjxs

VARCHAR

40

上机学时

10

skrs

VARCHAR

40

上课人数

实体关系图

代码设计

@RequestMapping(value="/add")
	public String add(kecheng kecheng,HttpServletRequest request){
		Map<String,Object> map= new HashMap<String,Object>();
		//String name=(String)request.getParameter("name");

		map.put("kcid", kecheng.getKcid());//课程编号

		map.put("kcmc", kecheng.getKcmc());//课程名称

		map.put("rkjs", kecheng.getRkjs());//任课教师

		map.put("dw", kecheng.getDw());//单位

		map.put("kkbj", kecheng.getKkbj());//开课班级

		map.put("kcsx", kecheng.getKcsx());//课程属性

		map.put("llxs", kecheng.getLlxs());//理论学时

		map.put("syxs", kecheng.getSyxs());//实验学时

		map.put("sjxs", kecheng.getSjxs());//上机学时

		map.put("skrs", kecheng.getSkrs());//上课人数



		String kcid=(String)kecheng.getKcid();//课程编号

		String kcmc=(String)kecheng.getKcmc();//课程名称

		String rkjs=(String)kecheng.getRkjs();//任课教师

		String dw=(String)kecheng.getDw();//单位

		String kkbj=(String)kecheng.getKkbj();//开课班级

		String kcsx=(String)kecheng.getKcsx();//课程属性

		String llxs=(String)kecheng.getLlxs();//理论学时

		String syxs=(String)kecheng.getSyxs();//实验学时

		String sjxs=(String)kecheng.getSjxs();//上机学时

		String skrs=(String)kecheng.getSkrs();//上课人数

		kechengdao.save(map);
		
		
		request.setAttribute("msg", "<script>alert('添加成功');</script>");
		System.out.println("addok");
		return "kecheng/kechengadd";
	}
	
	/**删除 
	 * 
	 */
	@RequestMapping(value="/del")
	public String  del(Integer id,HttpServletRequest request,Map<String,Object> map){
	//	Map<String,Object> map= new HashMap<String,Object>();
		String a=(String)request.getParameter("keyid");
		id=Integer.parseInt(a);
		request.setAttribute("msg", "<script>alert('删除成功');</script>");
		kechengdao.del(id);
		return selectall(null,map,request);
	}
	/**
	 * 修改kecheng信息
	 */
	@RequestMapping(value="/update")
	public String update(kecheng kecheng,HttpServletRequest request,Map<String,Object> map1){
		Map<String,Object> map= new HashMap<String,Object>();
		map.put("kcid", kecheng.getKcid());//课程编号

		map.put("kcmc", kecheng.getKcmc());//课程名称

		map.put("rkjs", kecheng.getRkjs());//任课教师

		map.put("dw", kecheng.getDw());//单位

		map.put("kkbj", kecheng.getKkbj());//开课班级

		map.put("kcsx", kecheng.getKcsx());//课程属性

		map.put("llxs", kecheng.getLlxs());//理论学时

		map.put("syxs", kecheng.getSyxs());//实验学时

		map.put("sjxs", kecheng.getSjxs());//上机学时

		map.put("skrs", kecheng.getSkrs());//上课人数



		String kcid=(String)kecheng.getKcid();//课程编号

		String kcmc=(String)kecheng.getKcmc();//课程名称

		String rkjs=(String)kecheng.getRkjs();//任课教师

		String dw=(String)kecheng.getDw();//单位

		String kkbj=(String)kecheng.getKkbj();//开课班级

		String kcsx=(String)kecheng.getKcsx();//课程属性

		String llxs=(String)kecheng.getLlxs();//理论学时

		String syxs=(String)kecheng.getSyxs();//实验学时

		String sjxs=(String)kecheng.getSjxs();//上机学时

		String skrs=(String)kecheng.getSkrs();//上课人数

		request.setAttribute("msg", "<script>alert('修改成功');</script>");
		kechengdao.update(map);
		return selectall(null,map1,request);
	}
	/**
	 * 查询kecheng信息
	 */
	@RequestMapping(value="/modify")
	public String modify(Integer id,Map<String,Object> map,HttpServletRequest request){
		String keyid=(String)request.getParameter("keyid");
		List<Map<String,Object>> list= new  ArrayList<Map<String,Object>>();
		list=kechengdao.select(Integer.parseInt(keyid));
		request.setAttribute("kcid", list.get(0).get("kcid"));//课程编号

		request.setAttribute("kcmc", list.get(0).get("kcmc"));//课程名称

		request.setAttribute("rkjs", list.get(0).get("rkjs"));//任课教师

		request.setAttribute("dw", list.get(0).get("dw"));//单位

		request.setAttribute("kkbj", list.get(0).get("kkbj"));//开课班级

		request.setAttribute("kcsx", list.get(0).get("kcsx"));//课程属性

		request.setAttribute("llxs", list.get(0).get("llxs"));//理论学时

		request.setAttribute("syxs", list.get(0).get("syxs"));//实验学时

		request.setAttribute("sjxs", list.get(0).get("sjxs"));//上机学时

		request.setAttribute("skrs", list.get(0).get("skrs"));//上课人数

		
		return "kecheng/kechengmodify";
	}

mybatis 配置文件

<!-- 添加用户信息 -->
<insert id="insertkecheng"  parameterType="java.util.Map">
 insert  into  kecheng(kcmc,rkjs,dw,kkbj,kcsx,llxs,syxs,sjxs,skrs)  values(#{kcmc},#{rkjs},#{dw},#{kkbj},#{kcsx},#{llxs},#{syxs},#{sjxs},#{skrs})
</insert>

<delete id="delkecheng" parameterType="int">
 delete  from  kecheng where kcid=#{kcid}
</delete>

<update id="updatekecheng" parameterType="java.util.Map">
update kecheng set kcmc=#{kcmc},rkjs=#{rkjs},dw=#{dw},kkbj=#{kkbj},kcsx=#{kcsx},llxs=#{llxs},syxs=#{syxs},sjxs=#{sjxs},skrs=#{skrs} where kcid=#{kcid}
</update>

<!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectkecheng"  parameterType="int" resultType="java.util.Map">
  select  * from kecheng where kcid=#{kcid}
</select>

<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">
  select  * from kecheng where 1=1
<if test=" null != kcmc and kcmc!=''" >
 and kcmc = #{kcmc}
</if>
<if test=" null != rkjs and rkjs!=''" >
 and rkjs = #{rkjs}
</if>
<if test=" null != dw and dw!=''" >
 and dw = #{dw}
</if>
<if test=" null != kkbj and kkbj!=''" >
 and kkbj = #{kkbj}
</if>
<if test=" null != kcsx and kcsx!=''" >
 and kcsx = #{kcsx}
</if>
<if test=" null != llxs and llxs!=''" >
 and llxs = #{llxs}
</if>
<if test=" null != syxs and syxs!=''" >
 and syxs = #{syxs}
</if>
<if test=" null != sjxs and sjxs!=''" >
 and sjxs = #{sjxs}
</if>
<if test=" null != skrs and skrs!=''" >
 and skrs = #{skrs}
</if>

</select>


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmjiaoshi.sql,系统名称ssmjiaoshi
    4、系统首页地址:http://127.0.0.1:8080/ssmjiaoshi/login.jsp

四 系统实现

源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321597.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML有哪些列表以及具体的使用!!!

文章目录 一、HTML列表二、列表的应用1、无序列表2、有序列表3、自定义列表 三、总结 一、HTML列表 html的列表有三种&#xff0c;一种是无序列表&#xff0c;一种是有序列表&#xff0c;还有一种为自定义列表。 二、列表的应用 1、无序列表 <ul> <li>无序列表…

基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(二)

系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xff08;一&#xff09; 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xf…

社交心理学视角下的TikTok:用户是如何被吸引的?

TikTok作为一款风靡全球的短视频应用&#xff0c;成功吸引了数以亿计的用户。这引发了一个问题&#xff0c;TikTok到底具有何种魅力&#xff0c;是如何在社交心理学层面吸引用户的呢&#xff1f;本文将从社交心理学的角度出发&#xff0c;深入剖析TikTok的吸引力因素&#xff0…

理性消费成主流!国台国标酒高性价比火热出圈

近日&#xff0c;国台酒业集团获得2023财联社第六届投资年会“年度最具价值品牌奖”。2023年国台品牌价值达2062.68亿元&#xff0c;稳居中国白酒第十名、贵州白酒第三名。 随着酱酒龙头企业官宣提高出厂价&#xff0c;高品质酱酒进一步被市场关注&#xff0c;同样源于茅台镇核…

某音上很火的圣诞树分享

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 效果截图&#xff08;这里不给动态了&#xff0c;某音到处都是了&#xff09;&#xff1a; 源代码&#xff1a; <script src"…

hive企业级调优策略之Join优化

测试所用到的数据参考&#xff1a; 原文链接&#xff1a;https://blog.csdn.net/m0_52606060/article/details/135080511 本教程的计算环境为Hive on MR。计算资源的调整主要包括Yarn和MR。 Join算法概述 Hive拥有多种join算法&#xff0c;包括Common Join&#xff0c;Map …

【离散数学】——期末刷题题库(树其一)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

【微服务】springboot整合minio详解

目录 一、前言 二、Minio 概述 2.1 Minio简介 2.1 Minio特点 三、Minio 环境搭建 3.1 部署过程 3.1.1 拉取镜像 3.1.2 启动容器 3.1.3 访问web页面 四、Minio基本使用 4.1 基本概念 4.2 上传文件演示 4.3 用户管理 4.4 Java操作Minio 4.4.1 导入依赖 4.4.2 上传…

算法专题二:滑动窗口

算法专题二&#xff1a;滑动窗口 一.长度最小的子数组&#xff1a;1.思路一&#xff1a;暴力解法2.思路二&#xff1a;滑动窗口双指针3.GIF题目解析&#xff1a;思路一&#xff1a;思路二&#xff1a; 二.无重复字符的最长子串&#xff1a;1.思路一&#xff1a;滑动窗口2.GIF题…

【神器】wakatime代码时间追踪工具

文章目录 wakatime简介支持的IDE安装步骤API文档插件费用写在最后 wakatime简介 wakatime就是一个IDE插件&#xff0c;一个代码时间追踪工具。可自动获取码编码时长和度量指标&#xff0c;以产生很多的coding图形报表。这些指标图形可以为开发者统计coding信息&#xff0c;比如…

[C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/weixin_43197380&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 Loewen丶原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&…

STM32_窗口看门狗

什么是窗口看门狗&#xff1f; 窗口看门狗用于监测单片机程序运行时效是否精准&#xff0c;主要检测软件异常&#xff0c;一般用于需要精准检测 程序运行时间的场合。 窗口看门狗的本质是一个能产生 系统复位信号 和 提前唤醒中断 的 6 位计数器 产生复位条件&#xff1a; 当…

推荐算法架构6:数据样本

1 整体架构 深度学习的数据样本决定了算法的上限&#xff0c;模型只是去不断逼近这个上限&#xff0c;可见数据样本对于深度学习的重要意义。与CV和NLP不同&#xff0c;推荐系统可以获取大量用户的浏览和点击等行为&#xff0c;很容易构造正负样本。例如&#xff0c;在精排点击…

瑞友天翼应用虚拟化系统 多处SQL 注入漏洞复现(可RCE)

0x01 产品简介 瑞友天翼应用虚拟化系统是西安瑞友信息技术资讯有限公司研发的具有自主知识产权,基于服务器计算架构的应用虚拟化平台。它将用户各种应用软件集中部署在瑞友天翼服务器(群)上,客户端通过WEB即可快速安全的访问经服务器上授权的应用软件,实现集中应用、远程接…

【MATLAB】数据拟合第13期-基于最小二乘支持向量机的拟合

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 基于最小二乘支持向量机的拟合算法是一种数学优化技术&#xff0c;它通过最小化误差的平方和寻找数据的最佳函数匹配。这种算法在曲线拟合中应用广泛&#xff0c;包括线性拟合和非线性拟合…

司铭宇销售技巧培训师需要具备的功底

销售技巧培训师需要具备的功底 售技巧培训师是负责传授销售技巧和策略的专业人士&#xff0c;他们需要具备深厚的功底&#xff0c;以帮助销售人员提高销售业绩。以下是一些销售技巧培训师需要具备的功底 一、深厚的销售理论功底 销售技巧培训师要想在培训过程中游刃有余&…

dbeaver导出数据为excel格式

dbeaver导出excel 目前数据的可选择只有这几种 恰好没有我们需要的excel模式,而我们需要数据一般都需要excel的 所以我们可以通过以下步骤得到我们的excel格式的数据集: 1.直接选csv模式,至于csv有陌生的小伙伴可以理解:CSV&#xff08;Comma-Separated Values&#xff09;是…

众和策略:如何稳健投资股票?

怎么稳健出资股票&#xff1f;下降股票亏本概率的办法&#xff01; 1、长时间坚持 股票商场的动摇是非常大的&#xff0c;特别是短期内呈现的改变&#xff0c;假如不是短线出资者的话&#xff0c;那么建议长时间出资较为稳健&#xff0c;长时间出资能够协助出资者躲避商场动摇…

代码随想录刷题题Day17

刷题的第十七天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day17 任务 ● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先 1 二叉搜索树的最小绝对差 …

Elasticsearch 索引生命周期和翻滚 (rollover) 策略

Elasticsearch 是搜索引擎中的摇滚明星&#xff0c;它的蓬勃发展在于使你的数据井井有条且速度快如闪电。 但当你的数据成为一场摇滚音乐会时&#xff0c;管理其生命周期就变得至关重要。 正确使用索引生命周期管理 (ILM) 和 rollover 策略&#xff0c;你的后台工作人员可确保顺…