SSM实践基地管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点
  SSM  实践基地管理系统是一套完善的信息系统,结合springMVC框架完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库
,系统主要采用B/S模式开发。

ssm实践基地系统


前段主要技术 html.css jquery
后端主要技术 SSM
数据库 mysql
开发工具 eclipse  JDK1.8 TOMCAT 8.5

二、功能介绍

(1)用户管理:对用户信息进行添加、删除、修改和查看
(2)实践基地管理:对实践基地信息进行添加、删除、修改和查看
(3)实践形式管理:对实践形式信息进行添加、删除、修改和查看
(4)实践申请管理:对实践申请信息进行添加、删除、教务人员审核和查看
(5)实践报告管理:对实践报告信息进行添加、删除、教务人员审核和查看
(6)评价单位管理:对评价单位信息进行添加、删除、修改和查看
(7)评价学生管理:对评价学生信息进行添加、删除、修改和查看
(8)实践信息管理:对实践信息信息进行添加、删除、修改和查看、导入
(9)个人信息修改以及密码修改。

数据库设计

(1)用户信息表如表5.1所示:

表5.1 用户信息表

序号

字段名称

数据类型

长度

主键

描述

1

yhid

INTEGER

11

用户编号

2

yhm

VARCHAR

40

用户名

3

mm

VARCHAR

40

密码

4

xm

VARCHAR

40

姓名

5

qx

VARCHAR

40

权限

6

lxdh

VARCHAR

40

联系电话

7

lxdz

VARCHAR

40

联系地址

(2)实践基地如表5.2所示:

表5.2 实践基地表

序号

字段名称

数据类型

长度

主键

描述

1

sjjdid

INTEGER

11

实践基地编号

2

sjjdmc

VARCHAR

40

实践基地名称

3

js

VARCHAR

40

介绍

4

fbr

VARCHAR

40

发布人

(3)实践形式表如表5.3所示:

表5.3 实践形式表

序号

字段名称

数据类型

长度

主键

描述

1

sjxsid

INTEGER

11

实践形式编号

2

xs

VARCHAR

40

形式

(4)实践申请信息表如表5.4所示:

表5.4 实践申请信息表

序号

字段名称

数据类型

长度

主键

描述

1

sjsqid

INTEGER

11

实践申请编号

2

ls

VARCHAR

40

流水

3

bt

VARCHAR

40

标题

4

xs

VARCHAR

40

形式

5

nr

VARCHAR

40

内容

6

sjjd

VARCHAR

40

实践基地

7

tjr

VARCHAR

40

提交人

8

tjsj

VARCHAR

40

提交时间

9

zt

VARCHAR

40

状态

10

yj

VARCHAR

40

意见

(5)实践报告表如表5.5所示:

表5.5 实践报告表

序号

字段名称

数据类型

长度

主键

描述

1

sjbgid

INTEGER

11

实践报告编号

2

sj

VARCHAR

40

实践

3

bgmc

VARCHAR

40

报告名称

4

fj

VARCHAR

40

附件

5

sm

VARCHAR

40

说明

6

tjr

VARCHAR

40

提交人

7

zt

VARCHAR

40

状态

(6)评价单位表如表5.6所示:

表5.6 评价单位表

序号

字段名称

数据类型

长度

主键

描述

1

pjdwid

INTEGER

11

评价单位编号

2

sj

VARCHAR

40

实践

3

bt

VARCHAR

40

标题

4

pjnr

VARCHAR

40

评价内容

5

sjjd

VARCHAR

40

实践基地

6

pjr

VARCHAR

40

评价人

7

pjsj

VARCHAR

40

评价时间

系统ER 图

控制层代码

@Resource pjxsDao pjxsdao;@RequestMapping(value="/addPage")public String addPage(pjxs pjxs,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();System.out.println("addPageok");return "pjxs/pjxsadd";}@RequestMapping(value="/add")public String add(pjxs pjxs,HttpServletRequest request){Map<String,Object> map= new HashMap<String,Object>();//String name=(String)request.getParameter("name");map.put("pjxsid", pjxs.getPjxsid());//评价学生编号map.put("sj", pjxs.getSj());//实践map.put("bt", pjxs.getBt());//标题map.put("pjnr", pjxs.getPjnr());//评价内容map.put("pjxs", pjxs.getPjxs());//评价学生map.put("pjr", pjxs.getPjr());//评价人map.put("pjsj", pjxs.getPjsj());//评价时间String pjxsid=(String)pjxs.getPjxsid();//评价学生编号String sj=(String)pjxs.getSj();//实践String bt=(String)pjxs.getBt();//标题String pjnr=(String)pjxs.getPjnr();//评价内容String pjxs1=(String)pjxs.getPjxs();//评价学生String pjr=(String)pjxs.getPjr();//评价人String pjsj=(String)pjxs.getPjsj();//评价时间int num=0;ResultSet rs=null;String sql="";DBO db=new DBO();try{sql="select count(1) as num from pjxs where sj='"+sj+"' and pjr='"+pjr+"'";rs=db.query(sql);if(rs.next()){num=rs.getInt("num");}if(num==0){sql="select * from sjsq where ls='"+sj+"'";rs=db.query(sql);if(rs.next()){pjxs1=rs.getString("tjr");}map.put("pjxs", pjxs1);//实践基地pjxsdao.save(map);request.setAttribute("msg", "<script>alert('添加成功');</script>");}else{request.setAttribute("msg", "<script>alert('添加失败、数据重复');</script>");}}catch(Exception e){e.printStackTrace();}request.setAttribute("msg", "<script>alert('添加成功');</script>");System.out.println("addok");return "pjxs/pjxsadd";}/**删除 * */@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>");pjxsdao.del(id);return selectall(null,map,request);}/*** 修改pjxs信息*/@RequestMapping(value="/update")public String update(pjxs pjxs,HttpServletRequest request,Map<String,Object> map1){Map<String,Object> map= new HashMap<String,Object>();map.put("pjxsid", pjxs.getPjxsid());//评价学生编号map.put("sj", pjxs.getSj());//实践map.put("bt", pjxs.getBt());//标题map.put("pjnr", pjxs.getPjnr());//评价内容map.put("pjxs", pjxs.getPjxs());//评价学生map.put("pjr", pjxs.getPjr());//评价人map.put("pjsj", pjxs.getPjsj());//评价时间String pjxsid=(String)pjxs.getPjxsid();//评价学生编号String sj=(String)pjxs.getSj();//实践String bt=(String)pjxs.getBt();//标题String pjnr=(String)pjxs.getPjnr();//评价内容String pjxs1=(String)pjxs.getPjxs();//评价学生String pjr=(String)pjxs.getPjr();//评价人String pjsj=(String)pjxs.getPjsj();//评价时间request.setAttribute("msg", "<script>alert('修改成功');</script>");pjxsdao.update(map);return selectall(null,map1,request);}

持久层代码

public void save(Map<String, Object> map) {sqlSession.insert("com.sjbg.insertsjbg", map);}/*** 删除aa* @param id*/public void del(Integer id) {sqlSession.delete("com.sjbg.delsjbg", id);}/*** 修改sjbg信息* @param map*/public void update(Map<String, Object> map) {sqlSession.update("com.sjbg.updatesjbg", map);}/*** 查询sjbg信息* @param id* @return */public List<Map<String, Object>> select(Integer id) {return sqlSession.selectList("com.sjbg.selectsjbg", id) ; }

mybatis 配置文件

<insert id="insertpjxs"  parameterType="java.util.Map">insert  into  pjxs(sj,bt,pjnr,pjxs,pjr,pjsj)  values(#{sj},#{bt},#{pjnr},#{pjxs},#{pjr},#{pjsj})
</insert><delete id="delpjxs" parameterType="int">delete  from  pjxs where pjxsid=#{pjxsid}
</delete><update id="updatepjxs" parameterType="java.util.Map">
update pjxs set sj=#{sj},bt=#{bt},pjnr=#{pjnr},pjxs=#{pjxs},pjr=#{pjr},pjsj=#{pjsj} where pjxsid=#{pjxsid}
</update><!--  查询返回的是 list<map> -->
<!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectpjxs"  parameterType="int" resultType="java.util.Map">select  * from pjxs where pjxsid=#{pjxsid}
</select><!-- resultType 就是返回查询结果的类型,而如果是resultMap=则返回的就是你定义的javabean  -->
<select  id="selectall"  parameterType="java.util.Map" resultType="java.util.Map">select  * from pjxs where 1=1
<if test=" null != sj and sj!=''" >and sj = #{sj}
</if>
<if test=" null != bt and bt!=''" >and bt = #{bt}
</if>
<if test=" null != pjnr and pjnr!=''" >and pjnr = #{pjnr}
</if>
<if test=" null != pjxs and pjxs!=''" >and pjxs = #{pjxs}
</if>
<if test=" null != pjr and pjr!=''" >and pjr = #{pjr}
</if>
<if test=" null != pjsj and pjsj!=''" >and pjsj = #{pjsj}
</if></select>

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

四系统实现

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于高斯核是实现尺度空间变换的唯一性思考

受到自己的启发&#xff0c;唯一性证明有了思路&#xff1a; 谁的一阶导数是自己&#xff0c;exp&#xff08;x&#xff09;&#xff0c;只有是自己&#xff0c;才能保持自己在其中。 为什么不能是exp&#xff08;x&#xff09;呢&#xff1f;不变导致图像不会模糊&#xff0…

详解Python对Excel处理

Excel是一种常见的电子表格文件格式&#xff0c;广泛用于数据记录和处理。Python提供了多个第三方库&#xff0c;可以方便地对Excel文件进行读写、数据操作和处理。本文将介绍如何使用Python对Excel文件进行处理&#xff0c;并提供相应的代码示例和详细说明。 一、安装第三方库…

位图(bitset)和布隆过滤器

位图将数字映射到比特位上&#xff0c;用0&#xff0c;1来表示数据存在与否。 适用场景&#xff1a;大量数据(2^32次方约为40亿数据&#xff0c;0.5GB)&#xff0c;判断存在与否。 template<size_t N> class Bitset { public:Bitset(){// 在x86下size_t表示四个字节&am…

accelerate的使用说明

1 多卡(GPU)使用方法 终端输入指令&#xff0c;生成问答页面 accelerate config 这个方法也是可以的 2 后面修改直接找到这个yaml文件进行修改即可 cd ~/.cache/huggingface/accelerate vim default_config.yaml 进入vim进行修改 3 单卡(GPU)使用方法 vim default_config.…

介绍比特币上的 sCrypt 开发平台

最强大的基础设施和工具套件&#xff0c;可轻松构建和扩展您的 dApp 杀手级应用在哪里&#xff1f; 尽管比特币在小额支付、国际汇款和供应链管理等广泛用例中具有颠覆性潜力&#xff0c;但在推出 14 年后&#xff0c;我们还没有看到一款非常受欢迎并被主流采用的杀手级应用。 …

在 Banana Pi BPI-R2 PRO RK3568开源路由器上安装 OpenWrt 23 快照固件

这是在 BPI-R2 Pro&#xff08;到内部 eMMC&#xff09;上安装 OpenWrt 23 快照固件的快速指南。该固件已预装 LuCI 和一些软件包。这是 2023 年 9 月 2 日的屏幕截图。 LuCI 主页概述。Linux内核是6.1.50 网络接口概述。PPPoE 连接已启动并正在运行 速度测试和 CPU 使用情况…

Star History 十月开源精选 |AI for Postgres

在 2023 年 Stack Overflow 开发者调查中&#xff0c;Postgres 顶替了 MySQL 被评为最受欢迎的数据库。一个重要因素应该是 Postgres 支持扩展&#xff1a;可扩展的架构 Postgres 仍然由社区拥有&#xff0c;Postgres 生态近年来蓬勃发展。 扩展可以看作是内置功能&#xff0c…

浅谈联网汽车安全漏洞

“智能网联汽车存在内生共性问题&#xff0c;即软硬件的漏洞后门&#xff0c;基于此进行的网络攻击可以直接带来勒索、盗窃、大规模车辆恶意操控风险&#xff0c;还有数据泄露等网络安全事件。如果内生的漏洞后门问题不解决&#xff0c;系统自身难保&#xff0c;很难谈系统安全…

C语言基础篇5:指针(二)

接上篇&#xff1a;C语言基础篇5&#xff1a;指针(一) 4 指针作为函数参数 4.1 指针变量作为函数的参数 指针型变量可以作为函数的参数&#xff0c;使用指针作为函数的参数是将函数的参数声明为一个指针&#xff0c;前面提到当数组作为函数的实参时&#xff0c;值传递数组的地址…

blender 3D眼球结构

角膜&#xff08;Cornea&#xff09;&#xff1a;眼球的前部&#xff0c;透明的曲面&#xff0c;负责折射光线。虹膜&#xff08;Iris&#xff09;&#xff1a;眼睛的颜色部分&#xff0c;控制瞳孔大小以调整进入眼睛的光量。瞳孔&#xff08;Pupil&#xff09;&#xff1a;虹膜…

Chatbot开发三剑客:LLAMA、LangChain和Python

聊天机器人&#xff08;Chatbot&#xff09;开发是一项充满挑战的复杂任务&#xff0c;需要综合运用多种技术和工具。在这一领域中&#xff0c;LLAMA、LangChain和Python的联合形成了一个强大的组合&#xff0c;为Chatbot的设计和实现提供了卓越支持。 首先&#xff0c;LLAMA是…

多货币转换多语言切换的跨境电商源码,实现全球购物的自由流通

WoShop跨境电商源码 在全球经济一体化的今天&#xff0c;跨境电商的发展日益蓬勃。为了满足不同国家和地区用户的购物需求&#xff0c;我们开发了一款多货币转换多语言切换的跨境电商源码&#xff0c;实现全球购物的自由流通。 一、多货币转换 在跨境电商交易中&#xff0c;货币…