歌曲信息管理系统设计(Java版).doc

上传人:仙人指路1688 文档编号:2917684 上传时间:2023-03-03 格式:DOC 页数:16 大小:2.29MB
返回 下载 相关 举报
歌曲信息管理系统设计(Java版).doc_第1页
第1页 / 共16页
歌曲信息管理系统设计(Java版).doc_第2页
第2页 / 共16页
歌曲信息管理系统设计(Java版).doc_第3页
第3页 / 共16页
歌曲信息管理系统设计(Java版).doc_第4页
第4页 / 共16页
歌曲信息管理系统设计(Java版).doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《歌曲信息管理系统设计(Java版).doc》由会员分享,可在线阅读,更多相关《歌曲信息管理系统设计(Java版).doc(16页珍藏版)》请在三一办公上搜索。

1、歌曲信息管理系统的设计与实现目录摘要第1章 系统开发技术介绍1.1 JAVA技术1.2 JDBC定义1.3 MVC技术1.4 MY SQL 概述1.5 SQL 介绍1.6 运行环境第2章 系统需求分析2.1系统功能设计2.2数据需求第3章 数据库设计3.1数据库系统 3.2数据处理流程 3.2.1系统登陆流程3.2.2.主流程3.2.3添加歌曲流程3.2.4修改歌曲流程3.2.5查询歌曲流程3.3系统数据库设计3.3.1 E-R图3.3.2 数据库表第 4 章 系统实现4.1 系统功能图4.1.1系统管理模块实现4.1.2添加歌曲模块实现4.2系统主要类说明4.3 系统主要功能实现4.3.1.

2、 显示操作主页面功能实现4.3.2. 添加歌曲功能实现4.3.3. 删除功能实现(代码省略)4.3.4 修改功能实现(代码略)4.3.5 查询功能实现(代码略)4.3.6 连接功能实现(代码略)摘 要 科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,KTV歌曲资源管理系统也以方便、快捷、费用低的优点正慢慢改变着对歌曲信息的管理,将传统的手工管理方式彻底的解脱出来,提高效率,减轻管理员以往繁忙的工作,减小出错的概率,使使用者歌曲可以更好的获取信

3、息、了解信息、掌握信息。开发一个界面友好易于操作的歌曲资源管理系统进行自动化处理变得十分重要,这正是本系统开发的目的和意义。 歌曲信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合要求,对MY SQL数据库管理系统、数据库组件、SQL语言原理、JAVA应用程序设计,对数据库技术进行了较深入的学习和应用,主要完成对管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的歌

4、曲信息管理系统可以满足用户的需要。实现了数据库表的查询、添加、删除和修改,实现了多种条件查询等。设计充分利用JAVA、MYSQL数据库技术的强大力量,提高了编程效率和可靠性。【关键词:】JAVA;SQL语言; MYSQL; 数据库;歌曲管理系统 第1章 系统开发技术介绍1.1 JAVA技术Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一

5、个Java平台之后,Java应用程序就可运行。目前常用的Java平台基于Java1.5,最近版本为Java1.7。1.2 JDBC定义JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,JDBC 扩展了 Java 的功能。1.3 MVC技术MVC三层架构也称MVC模式,主要是将程序开发分为MOD

6、EL层(数据持久层)、VIEW(界面表示层)、CONTROL层(控制层)这三个层面,并将这三个层面分开来,形成了一个立体的架构。三个层次之间的主要交互如下所示:1.3.1 MVC设计模式的实现 (1)视图是模型的表示,它提供用户交互界面。(2)为了能够控制和协调每个用户跨越多个请求的处理,控制机制以集中的方式进行管理。(3)MVC系统中的模型从概念上可以分为两类:系统的内部状态和改变系统状态的动作。1.4 MY SQL 概述My SQL是一个精巧的SQL数据库管理系统。My SQL是一个真正的多用户、多线程SQL数据库服务器。My SQL是以一个客户机/服务器结构的实现,由一个服务器守护程序m

7、y sqld和很多不同的客户程序和库组成。My SQL 主要目标是快速、健壮和易用。1.5 SQL 介绍SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言。SQL通常使用于数据库的通讯。SQL为许多任务提供了命令,其中包括:(1) 查询数据(2)在表中插入、修改和删除记录(3)建立修改和删除数据对象(4)控制对数据和数据对象的存取(5)保证数据库一致性和完整性1.6 运行环境硬件平台:q CPU:Inter Core2 T5500 1.66GHz;q 内存:2G。软件平台:q 操作系统:Windows XP;q 数据库:MySQL 5.0;q

8、开发工具包:JDK Version1.5;q 开发工具:MyEclipse5.5.1;q 浏览器:IE7.0;q 分辨率:最佳效果1024*768像素。第2章 系统需求分析2.1系统功能设计a.功能划分,该软件具有如下主要功能:查询功能;插入功能;修改功能;删除功能;b.功能描述查询功能:按照歌曲相应属性查询;插入功能:增加一个歌曲记录;修改功能:修改某一已存在的记录内容;删除功能:删除一个记录;2.2数据需求歌曲:歌曲编号,歌曲名称,歌曲类型,歌手名称,歌手性别,歌手年龄,歌手图片等。用户:用户名,密码;第3章 数据库设计3.1数据库系统 3.1.1数据库采用My SQL数据库。3.1.2数

9、据采集数据采集采用键盘输入。3.2数据处理流程 3.2.1系统登陆流程要求用户输入用户名及密码。建立与数据库的连接。根据操作权限显示主对话框(即主界面),进入主流程。3.2.2.主流程1如为添加歌曲,进入添加歌曲流程(显示添加歌曲对话框)。2如为修改歌曲:进入修改歌曲流程(显示修改歌曲对话框)。3如为查询歌曲: 进入查询歌曲流程(显示查询歌曲对话框)。4如为删除歌曲: 进入删除歌曲流程(显示删除歌曲对话框)。5如为退出:检查所有子窗口,关闭对话框,断开与数据库的连接,结束主流程。3.2.3添加歌曲流程要求用户输入新增歌曲的各种信息。确认后提交添加歌曲请求,更新信息,把添加信息写入数据库,显示添

10、加歌曲操作结果。如为完成添加歌曲操作:结束添加歌曲流程。3.2.4修改歌曲流程要求用户输入修改歌曲的各种信息。确认后提交修改歌曲请求,更新信息,把修改信息写入数据库,显示修改歌曲操作结果。如为完成修改歌曲操作:结束修改歌曲流程。3.2.5查询歌曲流程要求用户输入要查询歌曲的任一种信息。确认后提交查询歌曲请求,更新信息,显示查询歌曲操作结果。如为完成查询歌曲操作:结束查询歌曲流程。3.3系统数据库设计3.3.1 E-R图3.3.2 数据库表用户表:Users字段数据类型备注Uidint会员号Unamevarchar(20)姓名Upasswordvarchar(20)密码歌曲表:Songs字段数据

11、类型备注Songidint歌曲编号Songnamevarchar(20)歌曲名称Songtypevarchar(20)歌曲类型Songernamevarchar(20)歌手名称Songersexvarchar(20)歌手性别SongerageInt歌手年龄Songerpictuervarchar(20)歌手图片第 4 章 系统实现4.1 系统功能图4.1.1系统管理模块实现功能:运行主界面建立与数据库连接根据输入调用子模块退出系统时断开与数据库的连接歌曲信息管理结构图:添加新的歌曲信息删除指定歌曲的信息查询指定歌曲的信息修改指定歌曲的信息歌曲信息管理歌曲信息管理流程图:初始化歌曲删除界面主界面

12、歌曲添加界面连接数据库歌曲修改界面按键选择,是否退出否歌曲查询界面关于帮助界面退出主界面是4.1.2添加歌曲模块实现功能:运行添加歌曲界面输入添加歌曲信息添加成功是显示添加后界面退出时返回主界面添加歌曲结构图:添加歌曲歌歌曲编号暗歌曲名称歌手姓名歌手性别歌手图片歌曲类型歌手年龄添加歌曲流程图:添加歌曲界面输入添加歌曲的信息正确保存向数据库添加信息记录错误显示添加成功界面退出4.2系统主要类说明1 实体封装类歌曲类(Song),封装歌曲的一系列信息(songname、singer、type等),对歌曲的添加、修改、删除等数据临时存储于传递,对歌曲的信息进行维护管理。2 持久化类数据库连接工具类(

13、JDBCUtil),主要作用为数据持久化操作提供连接,并通过静态化方式实现单例模式,有效防止了重复连接,优化了数据库访问效率。数据持久化类(OperateDao),主要业务逻辑控制类,主要方法有添加歌曲,根据ID删除歌曲,查找所有歌曲,根据条件查找歌曲,修改歌曲等方法,分别控制歌曲添加、删除、查找、修改等业务逻辑。3 主要视图与业务逻辑类登陆业务逻辑控制类(Login),显示登录窗体。主要控制为,判断用户输入是否合法(是否为空等),根据用户的输入的数据,调用数据库持久化类,查询数据库数据,然后进行对比判断,根据判断结果,显示主界面或者提示用户重新输入等操作。歌曲管理操作主界面(MainView

14、),显示歌曲添加、删除、修改、查询等操作,可以动态显示不同操作的视图(如背景图片,操作信息等)。根据相应的操作按钮监听,创建不同操作的组件,然后调用持久化类与数据库交互,获得相应的数据,然后通过本类的主Panel组件,添加删除相应业务组件,从而实现不同操作的动态显示4.3 系统主要功能实现4.3.1. 显示操作主页面功能实现 (界面代码如下略)package ktv.ui;import java.awt.BorderLayout;public class ktvFrame extends JFrame /主窗体的宽度private int frame_width = 800;/主窗体的高度pr

15、ivate int frame_height = 600;/主窗体的标题private String frame_title = ktvConfig.MAINFRAME_TITLE;/主窗体的背景颜色private Color frame_bgcolor = Color.DARK_GRAY;/主窗体的图标private ImageIcon icon = new ImageIcon(ktvConfig.MAINFRAME_ICO);/* ktvFrame类的构造函数,初始化ktv系统主窗体 */public ktvFrame() super();if(this.initMainFrame(thi

16、s)System.out.println(initialization of the main frame is successful); else System.out.println(initialization of the main frame is fault);System.exit(1);public JDesktopPane getJDesktopPane()return this.jdeskpane;/* * 初始化ktv系统主窗体 */Public boolean initMainFrame(ktvFrame frame)if(frame = null) System.ou

17、t.println (ktvFrames object is null);System.exit (1); try Jdeskpane = new JDesktopPane ();frame.setIconImage (frame_ico);jdeskpane.setBackground (this.frame_bgcolor);frame.setSize (this.frame_width, this.frame_height);frame.setTitle (frame_title); frame.setLocation (Toolkit.getDefaultToolkit().getSc

18、reenSize().width - this.frame_width)/ 2, (Toolkit.getDefaultToolkit ().getScreenSize().height - this.frame_height) / 2); frame.setDefaultCloseOperation (EXIT_ON_CLOSE);/设置窗体样式UIManager.setLookAndFeel (UIManager.getInstalledLookAndFeels ()0.getClassName();SwingUtilities.updateComponentTreeUI (frame);

19、/创建桌面面板 createDeskpane(frame);/创建内部窗体 createShowAllSongsFrame(frame, moon-ktv所有歌曲);/创建菜单 createMenu(frame);/创建工具栏 createToolbar(frame);/创建状态栏 createStatusbar(frame); catch(Exception e) e.printStackTrace();return false;return true; public ktvMenu getKtvMenu() return this.kM;public ktvToolBar getKtvTo

20、olBar() return this.kTB;public ktvStatusBar getKtvStatusBar() return this.kS;/添加菜单public void createMenu(ktvFrame frame) if(frame = null) System.out.println(ktvFrames object is null);System.exit(1);kM = new ktvMenu();frame.setJMenuBar(kM);/添加工具栏public void createToolbar(ktvFrame frame) if(frame = nu

21、ll) System.out.println(ktvFrames object is null);System.exit(1);kTB = new ktvToolBar();frame.getContentPane().add(kTB, BorderLayout.NORTH);/添加状态栏public void createStatusbar(ktvFrame frame) if(frame = null) System.out.println(ktvFrames object is null);System.exit(1);kS = new ktvStatusBar();frame.getC

22、ontentPane().add(kS, BorderLayout.SOUTH);/添加桌面面板public void createDeskpane(ktvFrame frame) if(frame = null) System.out.println(ktvFrames object is null);System.exit(1);frame.getContentPane().add(jdeskpane); /添加内部窗体public void createShowAllSongsFrame(ktvFrame frame, String content) if(frame = null) S

23、ystem.out.println(ktvFrames object is null);System.exit(1);innerframe = new showAllSongsFrame(content);frame.getJDesktopPane().add(innerframe);4.3.2.添加歌曲功能实现点击添加歌曲菜单后,会弹出添加歌曲框(addSongFrame),填入相应的数据,单击保存后,数据添加进数据库,界面显示添加后的歌曲信息,界面代码(略,只添加歌曲名称的)如下,显示结果如下图。package ktv.ui;import java.awt.GridLayout;impor

24、t ktv.listeneraction.AllListenerAction;public class addSongFrame extends JInternalFrame private JLabel lsongname = null;private GridLayout crd = null; public addSongFrame(String title) super(title, true, true, true, true);crd = new GridLayout(7, 2, 0, 10);savebutton = new JButton(保存);lsongname = new

25、 JLabel(歌曲名称: );lsongname.setIcon(new ImageIcon(ktvConfig.MAINFRAME_ICO);lsongname.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);jtsongname = new JTextField(); this.setTitle(title); this.add(lsongname); this.add(savebutton); savebutton.addActionListener(new AllListenerAction(); this.setV

26、isible(true); 4.3.3.删除功能实现(代码省略)选择相应要删除的歌曲(可以点击任意点,如歌曲编号,歌曲名称,歌曲类型等),点击后,在系统功能菜单中选择删除,该歌曲即可删除。实现如下图所示:4.3.4 修改功能实现(代码略)同删除一样,点击修改记录,弹出修改对话框,即可进行修改。结果如下图所示:4.3.5 查询功能实现可以实现五种查询功能,既全部数据,歌曲名,歌手名,歌曲类型,和歌手类别。如图:4.3.6. (OperateDao)主要方法有添加歌曲,删除歌曲,查找所有歌曲,根据条件查询歌曲,修改歌曲等方法,分别控制歌曲添加、删除、查找、修改等。代码简略。(例)指定查询songT

27、able表public ArrayList selectValue(Connection conn, ArrayList list, String searchkey, String searchvalue) throws Exception Connection selectconn = ktvMysqlDAO.getMysqlConn();if(selectconn = null) System.out.println(connect DB is false. selectconn object is null.);return null;try ps = selectconn.prepa

28、reStatement(select * from songTable where +searchkey+=+searchvalue+); rs = ps.executeQuery(); if(rs != null) while(rs.next() songBean song = new songBean(); song.setSongID(rs.getInt(songID); song.setSongName(rs.getString(songName); song.setSingerName(rs.getString(singerName); song.setSongType(rs.get

29、String(songType); song.setSingerSex(rs.getString(singerSex); song.setSingerAge(rs.getString(singerAge); File photofile = new File(rs.getString(singerName)+.gif); byte b=new byte40000; InputStream is = rs.getBinaryStream(singerPhoto); if (is != null) is.read(b); OutputStream out = new FileOutputStream(photofile); out.write(b); song.setSingerPhoto(photofile); list.add(song); catch (Exception e) e.printStackTrace();return null; finally ps.close(); selectconn.close(); return list;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号