文章目录
- 摘 要
- 目 录
- 系统设计
- 开发环境
摘 要
本NBA球队运营管理系统设计目标是实现NBA球队运营管理的信息化管理,提高管理效率,使得NBA球队运营管理工作规范化、科学化、高效化。
本文研究的NBA球队运营管理系统基于SSM架构,采用JSP技术、JAVA编程语言和MYSQL数据库设计开发。通过本系统,实现了管理员和用户两个角色的功能,能够有效提高NBA球队运营管理效率。本系统经过测试,运行效果稳定,操作方便、快捷,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的NBA球队运营管理平台。
论文首先阐述了NBA球队运营管理系统的开发,并对该系统进行了较详细的需求分析,探讨了NBA球队运营管理系统的功能需求、业务流程、系统结构和数据库设计等方面的问题。望能利用先进的计算机技术和网络技术来改变目前的NBA球队运营管理状况,提高管理效率。
**关键词:**NBA球队运营管理系统;MYSQL数据库;SSM架构;JSP技术
目 录
1 绪论… 1
1.2 课题背景… 1
1.2 目的和意义… 2
2 关键技术介绍… 3
2.2 系统开发工具… 3
2.2 Java简介… 3
2.3 SSM架构… 3
2.4 JSP技术… 5
2.5 MYSQL数据库… 5
2.3 B/S架构… 6
3 系统分析… 8
3.1 可行性分析… 8
3.2 系统性能分析… 9
3.3 系统功能分析… 10
3.4 系统UML用例分析… 10
3.5 系统流程分析… 11
3.5.1 操作流程… 11
3.5.2 添加信息流程… 13
3.5.3 修改信息流程… 14
3.5.4 删除信息流程… 14
4 系统设计… 15
4.1 系统结构设计… 15
4.2 系统功能模块设计… 16
4.3 系统开发流程设计… 16
4.4 数据库设计… 17
4.4.1 数据库实体(E-R图)… 17
4.4.1 数据库表设计… 19
5 系统实现… 22
5.1 登录模块的实现… 22
5.2 注册模块的实现… 25
5.3 基本信息管理模块的实现… 27
5.4 球员和球队管理模块的实现… 28
5.5 球员数据管理模块的实现… 32
5.6 球迷管理模块的实现… 33
6 系统测试… 36
5.1 测试目的… 36
5.2 测试方法… 37
5.3 测试用例设计… 37
5.3 测试分析… 38
总 结… 40
致 谢… 42
参考文献… 43
外文原文… 44
中文翻译… 50
系统设计
本NBA球队运营管理系统主要实现了管理员和用户两个用户角色的功能,其具体介绍如下:
l 管理员:管理员登录后功能有基本信息管理,球队管理,球员管理,球员数据管理,球迷管理。
l 用户:用户登录后功能有基本信息管,球队管理,球馆管理和球员数据管理。
l 球迷信息管理:对球迷的基本信息(如ID,姓名,年龄,居住地等)进行录入和修改。
l 球员数据信息管理:对球员的数据信息(如球员场均得分,场均篮板,场均助攻,场均抢断,场均失误等)录入和更新。
l 管理员信息管理:管理个人用户信息的录入和修改。(管理员只属于重庆,北京,上海等城市)
l 每支球队信息管理:对球队的数据信息(如球队ID,球队名,战绩等)录入和更新。
球员信息管理:对球员信息(如年龄,身高,司职位置等)进行录入和修改。
管理员和用户要想进入本基于Java的NBA球队运营管理系统,首先进行系统登录界面,需要在登录界面填写正确的用户名和密码,选择登录类型点击登录按钮进行登录操作,系统会对用户名、密码和用户类型进行验证,信息正确则登录成功进入对应用户功能界面可进行功能处理,反之登录失败,登录界面如图5-1所示。
在SpringMVC中,控制器Controller负责处理由DispatcherServlet分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model,然后再把该Model返回给对应的View进行展示。在SpringMVC中提供了一个非常简便的定义Controller的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller标记一个类是Controller,然后使用@RequestMapping和@RequestParam等一些注解用以定义URL请求和Controller方法之间的映射,这样的Controller就能被外界访问到。此外Controller不会直接依赖于HttpServletRequest和HttpServletResponse等HttpServlet对象,它们可以通过Controller的方法参数灵活的获取到。
可以使用@RequestMapping来映射URL到控制器类,或者是到Controller控制器的处理方法上。当@RequestMapping标记在Controller类上的时候,里面使用@RequestMapping标记的方法的请求地址都是相对于类上的@RequestMapping而言的;当Controller类上没有标记@RequestMapping注解时,方法上的@RequestMapping都是绝对路径。这种绝对路径和相对路径所组合成的最终路径都是相对于根路径“/”而言的。
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
public String login(String userName,String userPw,int userType) throws Exception
{
System.out.println("userType"+userType);
try
{
Thread.sleep(700);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
String result="no";
if(userType==0){
TAdmin admin = new TAdmin();
admin.setUserName(userName);
admin.setUserPw(userPw);
List adminList=tAdminService.queryTAdminList(admin);
if(adminList.size()==0)
{
result="no";
}
else
{
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin adminUser=(TAdmin)adminList.get(0);
session.setAttribute("userType", "0");
session.setAttribute("admin", adminUser);
result="yes";
}
}
if(userType==1){
Userinfo userinfo = new Userinfo();
userinfo.setUname(userName);
userinfo.setPwd(userPw);
List userList=userinfoService.queryUserinfoList(userinfo);
if(userList.size()==0)
{
result="no";
}
else
{
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
Userinfo uinfo=(Userinfo)userList.get(0);
session.setAttribute("userType", 1);
session.setAttribute("user", uinfo);
result="yes";
}
}
return result;
}
未有账号的用户可进入注册界面进行注册操作,注册信息包括用户名、密码、姓名、邮箱以及联系方式等,用户注册界面如图5-2所示。
管理员在修改密码界面可输入原密码、新密码,点击修改按钮进行修改密码操作,修改密码界面如图5-4所示。
管理员登录后可进行球队管理操作,可添加、修改和删除球队信息,用户可查看球队信息,无权进行管理操作,管理员球队管理界面展示如图5-5所示。添加球队界面如图5-6所示。
管理员登录后可进行球员管理操作,可添加、修改和删除球员信息,用户可查看球员信息,无权进行管理操作,管理员球员管理界面展示如图5-7所示。添加球员界面如图5-8所示。
@RequestMapping(value="/qiuyuanList")
public String qiuyuanList(HttpServletRequest request) throws Exception
{
Qiuyuan qiuyuan = new Qiuyuan();
List<Qiuyuan> qiuyuanList=qiuyuanService.queryQiuyuanList(qiuyuan);
if(qiuyuanList!=null && qiuyuanList.size()>0){
for (Qiuyuan qiuyuan2 : qiuyuanList) {
qiuyuan2.setQiudui(qiuduiService.queryQiuduiById(qiuyuan2.getQd()));
}
}
request.setAttribute("qiuyuanList", qiuyuanList);
return "/admin/qiuyuan/qiuyuan_list.jsp";
}
SqlSessionFactory是MyBatis的关键对象,它是个单个数据库映射关系经过编译后的内存镜像。SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。每一个MyBatis的应用程序都以一个SqlSessionFactory对象的实例为核心。同时SqlSessionFactory也是线程安全的,SqlSessionFactory一旦被创建,应该在应用执行期间都存在。在应用运行期间不要重复创建多次,建议使用单例模式,SqlSessionFactory是创建SqlSession的工厂。
管理员登录后可进行球员数据管理操作,可添加、修改和删除球员数据信息,用户可查看球员数据信息,无权进行管理操作,管理员球员数据管理界面展示如图5-9所示。添加球员数据界面如图5-10所示。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DbUtil {
private String dbUrl="jdbc:mysql://127.0.0.1:3306/database?serverTimezone=UTC&useSSL=false"; // 数据库连接地址
private String dbUserName="root"; // 用户名
private String dbPassword="123456"; // 密码
private String jdbcName="com.mysql.cj.jdbc.Driver"; // 驱动名称
/**
* 获取数据库连接
* @return
* @throws Exception
*/
public Connection getCon(){
try {
Class.forName(jdbcName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = null;
try {
con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
/**
* 关闭数据库连接
* @param con
* @throws Exception
*/
public void closeCon(Connection con)throws Exception{
if(con!=null){
con.close();
}
}
public static void main(String[] args) {
DbUtil dbUtil=new DbUtil();
try {
dbUtil.getCon();
System.out.println("数据库连接成功!");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}
开发环境
开发工具:idea、Navicat
数据库:MySQL8.0
环境配置:jdk1.8 、Tomcat8.5
开发人员:IT012201