JAVA连接数据库课程设计

合集下载

JAVA数据库课程设计图书馆管理系统

JAVA数据库课程设计图书馆管理系统

西安郵電大学数据库课程设计报告题目:图书管理系统院系名称:计算机学院专业名称:计算机科学与技术班级:计科1006学生姓名:郑波学号(8位):04101198指导教师:乔平安设计起止时间:2012年10月8日~2012年10月19日一问题的提出一、开发背景很多高校都拥有图书馆,图书馆可以为全校师生提供一个阅读,学习的空间。

近年来,随着生源不断增大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书馆各种信息成倍增加。

面对如此庞大的信息量,校领导决定使用一套合理,有效,规范,实用的图书馆管理系统,对校内图书资料进行统一,集中的管理。

本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。

在对本系统的具体开发过程当中,将采用Java语言进行开发,以Sql Server 实现后台数据库,本系统是完全基于图形化用户界面(GUI)的单机版本。

本系统的设计是在Windows7简体中文版操作系统环境下,使用Java中文版开发成功的。

数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统所使用的后台数据库是MS SQL2005数据库。

本系统选用的开发语言介绍如下:选择了美国SUN公司推出的Java开发工具。

Java是第一个全面支持面向对象程序设计的数据库语言工具。

Java的主要特点有:1、语言是简单的、小型的、结构中性的2、强大的数据库开发功能3、扩大了对SQL语言的支持4、是面向对象的、高性能的、多线程的5、是分布式的、面向网络6、具有平台无关性7、语言具有可移植性、是动态的二、需求分析图书馆管理系统是图书馆管理工作中补课缺少的部分,对于图书馆的管理者和使用者来说都非常重要,但长期以来,人们使用传统的手工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐,效率相当低。

学生管理系统JAVA课课程设计

学生管理系统JAVA课课程设计

学生管理系统JAVA课课程设计一、教学目标本课程的目标是让学生掌握学生管理系统的Java编程知识,能够运用Java语言实现一个简单的学生管理系统。

具体目标如下:1.知识目标:–理解Java语言的基本语法和数据结构。

–掌握Java中的控制结构和面向对象编程思想。

–了解Java中的文件操作和数据库连接。

2.技能目标:–能够使用Java编写简单的程序,实现学生的增删改查功能。

–能够使用Java连接数据库,实现对学生信息的持久化存储。

–能够使用Java的文件操作,读写学生数据。

3.情感态度价值观目标:–培养学生的编程兴趣,提高学生解决问题的能力。

–培养学生团队协作的精神,提高学生的沟通表达能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.Java语言基础:包括基本语法、数据类型、变量、运算符等。

2.控制结构:包括条件语句、循环语句等。

3.面向对象编程:包括类、对象、继承、多态等。

4.文件操作:包括文件的读写、文件管理等。

5.数据库连接:包括JDBC的概念、数据库的连接与操作等。

6.学生管理系统的设计与实现:包括系统需求分析、系统设计、功能实现等。

三、教学方法为了达到课程目标,本课程将采用以下几种教学方法:1.讲授法:用于讲解Java语言基础、控制结构、面向对象编程等理论知识。

2.案例分析法:通过分析实际案例,让学生理解并掌握文件操作和数据库连接的方法。

3.实验法:让学生动手编写代码,实现学生管理系统,提高学生的实际操作能力。

4.小组讨论法:分组让学生讨论问题,培养学生的团队协作和沟通能力。

四、教学资源为了支持课程的顺利进行,我们将准备以下教学资源:1.教材:《Java编程思想》等。

2.参考书:《Java核心技术》、《Java Web开发》等。

3.多媒体资料:教学PPT、视频教程等。

4.实验设备:计算机、网络环境、数据库服务器等。

五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以保证评估的客观性和公正性。

javaJDBC教学设计

javaJDBC教学设计

Java JDBC教学设计一、引言JDBC(Java Database Connectivity)是Java语言对数据库访问的一种标准接口。

它提供了一套方法和类,用于连接和操作各种关系型数据库。

本文将介绍如何设计一套完整的Java JDBC教学计划,帮助学生掌握JDBC的基本概念和使用方法。

二、教学目标1. 理解JDBC的基本原理和核心概念。

2. 掌握使用JDBC连接数据库的方法。

3. 学会执行SQL语句和处理数据库查询结果。

4. 实践使用JDBC进行增删改查操作。

5. 掌握事务处理和批量操作的使用方法。

三、教学内容1. JDBC基础知识1.1 JDBC概述:介绍JDBC的定义、特点和作用。

1.2 JDBC架构:介绍JDBC的体系结构和主要组件。

1.3 JDBC驱动类型:介绍JDBC的四种驱动类型及其特点。

1.4 JDBC连接过程:详细解释JDBC连接数据库的步骤和方法。

2. JDBC连接数据库2.1 加载JDBC驱动程序:介绍如何加载数据库驱动程序。

2.2 连接数据库:详细描述如何建立与数据库的连接。

2.3 关闭数据库连接:讲解如何正确关闭数据库连接。

3. 执行SQL语句3.1 创建Statement对象:介绍如何创建和使用Statement 对象。

3.2 执行SQL语句:示范如何执行各种类型的SQL语句(查询、插入、更新、删除)。

3.3 批量更新:讲解如何使用JDBC进行批量更新操作。

4. 处理查询结果4.1 ResultSet对象:介绍ResultSet接口的方法和使用。

4.2 遍历查询结果:演示如何遍历和处理查询结果。

4.3 关闭ResultSet和Statement对象:说明正确关闭ResultSet和Statement对象的方法。

5. 事务处理5.1 事务概述:介绍事务的定义、特点和使用场景。

5.2 事务处理方法:讲解如何使用JDBC进行事务处理。

5.3 事务回滚和提交:示范如何进行事务回滚和提交操作。

Java基础入门教案之JDBC

Java基础入门教案之JDBC
(2)明确学习目标
1、了解什么是JDBC。
2、掌握JDBC的常用API。
3、掌握JDBC的使用步骤。
二、进入重点知识的讲解
(1)什么是JDBC?
教师首先讲解JDBC的概念和作用,然后画图讲解JDBC访问数据库的方式(可参见教材图9-1)。
(2)JDBC常用API
教师按照教材9.2小节的内容,讲解实现JDBC过程中涉及到的每个接口以及每个接口的作用和常用方法。
(3)JDBC的编程步骤
在讲解完JDBC涉及到的接口及方法后,就进入JDBC编程过程的讲解,可以参考教材安装实现过程分步骤说明,对每一步的现第一个JDBC程序
根据前面介绍的JDBC编程步骤,为了实现JDBC编程,需要先搭建数据库环境、接着创建项目加入相关驱动Jar包,最后编写程序代码。完成后可以启动程序查看效果。
教学
过程
关键内容及内容提要
一、导入方法:案例导入法
第二十四课时
(什么是JDBC、JDBC常用API、JDBC的编程步骤、实现第一个JDBC程序)
一、创设情境,引入JDBC的概念
(1)回顾上节内容,引出JDBC
在上一节课中,我们使用GUI知识实现了一个QQ登录界面,系统中的信息是存储在集合中的。然而现实中的项目是不可能这样做的,通常这些数据都是保存在数据库中。Java语言中可以通过JDBC来实现与数据库的连接。本节课将对JDBC的相关知识进行详细讲解。
考核
评价与教学反思
学生学习较为认真,同时自己动手尝试了连接数据库,与他们目前学的数据库进行联动(课后完成),知识掌握程度明显较好,但依然存在部分同学对课堂内容不感兴趣。
2)带领学生明确本任务的任务目标以及实现思路。
3)通过实现思路讲解任务实现代码的编写并进行项目演示。

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java

学生成绩在线管理系统数据库课程设计mysql+java以下是一个学生成绩在线管理系统的数据库设计示例,使用MySQL数据库和Java 编程语言:1. 学生表(students)-学生ID(student_id):主键,自增-学生姓名(student_name):varchar类型,最大长度为50-学生年龄(student_age):整数类型-学生性别(student_gender):varchar类型,最大长度为10-学生班级(student_class):varchar类型,最大长度为502. 课程表(courses)-课程ID(course_id):主键,自增-课程名称(course_name):varchar类型,最大长度为503. 成绩表(scores)-成绩ID(score_id):主键,自增-学生ID(student_id):外键,关联到学生表的学生ID-课程ID(course_id):外键,关联到课程表的课程ID-分数(score):浮点数类型通过以上表的设计,你可以实现以下功能:-添加学生信息-添加课程信息-添加学生成绩-查询学生信息-查询课程信息-查询学生的成绩-更新学生信息-更新课程信息-更新学生成绩-删除学生信息-删除课程信息-删除学生成绩在Java中,你可以使用JDBC(Java Database Connectivity)来连接MySQL数据库并执行SQL语句来实现对数据库的操作。

你需要配置数据库连接信息,并编写相应的Java代码来执行查询和更新操作。

这只是一个简单的数据库设计示例,你可以根据你的具体需求进行调整和扩展。

Java操作Sqlite数据库-jdbc连接

Java操作Sqlite数据库-jdbc连接

Java操作Sqlite数据库-jdbc连接Java操作Sqlite数据库步骤:1. 导⼊Sqlite jdbc2. 编写jdbc连接代码public class OpSqliteDB {private static final String Class_Name = "org.sqlite.JDBC";private static final String DB_URL = "jdbc:sqlite:F:\\xxxdatabase.db";public static void main(String args[]) {// load the sqlite-JDBC driver using the current class loaderConnection connection = null;try {connection = createConnection();func1(connection);System.out.println("Success!");} catch (SQLException e) {System.err.println(e.getMessage());} catch(Exception e) {e.printStackTrace();} finally{try {if (connection != null)connection.close();} catch (SQLException e) {// connection close failed.System.err.println(e);}}}// 创建Sqlite数据库连接public static Connection createConnection() throws SQLException, ClassNotFoundException {Class.forName(Class_Name);return DriverManager.getConnection(DB_URL);}public static void func1(Connection connection) throws SQLException {Statement statement = connection.createStatement();Statement statement1 = connection.createStatement();statement.setQueryTimeout(30); // set timeout to 30 sec.// 执⾏查询语句ResultSet rs = statement.executeQuery("select * from table_name1");while (rs.next()) {String col1 = rs.getString("col1_name");String col2 = rs.getString("col2_name");System.out.println("col1 = " + col1 + " col2 = " + col2);System.out.println(location);// 执⾏插⼊语句操作statement1.executeUpdate("insert into table_name2(col2) values('" + col2_value + "')");// 执⾏更新语句statement1.executeUpdate("update table_name2 set 字段名1=" + 字段值1 + " where 字段名2='" + 字段值2 + "'"); }}查询语句:select*from表名where条件⼦句group by分组字句having ... order by排序⼦句如:select*from personselect*from person order by id descselect name from person group by name having count(*)>1分页SQL与mysql类似,下⾯SQL语句获取5条记录,跳过前⾯3条记录select*from Account limit 5 offset 3或者select*from Account limit 3,5插⼊语句:insert into表名(字段列表) values(值列表)如:insert into person(name, age) values(‘传智’,3)更新语句:update表名set字段名=值where条件⼦句如:update person set name=‘传智‘ where id=10删除语句:delete from表名where条件⼦句如:delete from person where id=10。

《Java》实验指导13-JDBC数据库编程(Access版)

《Java》实验指导13-JDBC数据库编程(Access版)

实验项目十三JDBC数据库编程一、实验目的及要求1、掌握创建ODBC数据源2、掌握创建一个Student表3、运用Type1(JDBC-ODBC桥)连接、访问数据库4、实现数据库的增删改查操作二、实验内容和要求1、在D盘建立sql文件夹,进入该文件夹建立名为stu.mdb的数据库,打开,设计表结构如下(参照P178表10-6),存盘,定表名为Students:打开表,可以添加2条记录如下:2、创建ODBC数据源开始-设置-控制面板-管理工具-数据源,选择“系统DSN”-“添加”,选第2项“Driver do Microsoft Access(*.Mdb)”(如下图):配置系统DNS(数据源):StudentSystem按照以下图例进行设置:数据源名,填StudentSystem,按“选择”,选d:\sql目录下的stu.mdb:再按“高级”按钮,登录名填sa,密码填sql,按“确定”。

记住数据源的名字System,表的名字Students,登录名sa,密码sql,编程会用到。

注意配置环境变量,Dos下加上 set path=C:\Program Files\Java\jdk1.6.0_20\bin3、运用Type1(JDBC-ODBC桥)连接、访问数据库//P179,操作1 创建一个类Student,与上面的表Student是对接:class Student{String No; //学号String Name; //姓名int Age; //年龄String Sex; //性别String Address; //住址String Email; //电子邮件String Phone; //联系电话//创建学生对象,封装数据//编写Student构造函数如下public Student(String No,String Name,int Age,String Sex,String Address,String Email,String Phone){this.No=No;=Name;this.Age=Age;this.Sex=Sex;this.Address=Address;this.Email=Email;this.Phone=Phone;}}编译情况如下:●运行结果●算法分析//P179,操作2 连接数据库:import java.sql.*; //导入包public class StudentSystem{Connection conn; //数据库连接对象Statement stm; //执行简单的SQL语句PreparedStatement pstm;//执行带有参数的SQL语句ResultSet rs; //保存查询结果StudentSystem()throws Exception{//加载驱动程序Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//连接数据库conn=DriverManager.getConnection("jdbc:odbc:StudentSystem","sa","sql"); }//操作3 :显示数据表的内容://查询并显示所有学生信息void selectAll()throws SQLException{stm=conn.createStatement();//创建Statement对象rs=stm.executeQuery("select * from Students");//执行SQL语句//判断是否有查询结果并显示while(rs.next()){printAll();System.out.println("------------------------------");}closeAll();//关闭Statement对象和ResultSet结果集//操作4 增:插入一条记录到数据表中://插入学生信息void insertStudent(Student s)throws SQLException{//创建带有参数的preparedStatement对象pstm=conn.prepareStatement("insert into Students values(?,?,?,?,?,?,?)"); //为参数赋值setValue(s);//执行SQL语句pstm.executeUpdate();//关闭preparedStatement对象pstm.close();}//操作5 删:删除满足条件的记录://删除指定学号的学生void deleteNo(String No)throws SQLException{pstm=conn.prepareStatement("delete from Students where StudentNo=?"); pstm.setString(1,No);pstm.executeUpdate();}//操作6 改:修改数据表的内容://修改指定学号的学生信息/* void updateStudent(Student s)throws SQLException{pstm=conn.prepareStatement("update Students setStudentNo=?,Name=?,Age=?,Sex=?,Address=?,Email=?,Phone=? where StudentNo=?"); setValue(s);pstm.setString(8,s.No);pstm.executeUpdate();pstm.close();}*///操作7 查:查找满足条件的记录://按照指定的学号查找特定学生信息void selectNo(String No)throws SQLException{stm=conn.createStatement();rs=stm.executeQuery("select * from Students where StudentNo='"+No+"'"); if(rs.next()){printAll();}closeAll();//操作8 综合处理://用来显示数据库中的数据private void printAll()throws SQLException{System.out.println("学号:"+rs.getString(1));System.out.println("姓名:"+rs.getString(2));System.out.println("年龄:"+rs.getInt(3));System.out.println("性别:"+rs.getString(4));System.out.println("地址:"+rs.getString(5));System.out.println("Email:"+rs.getString(6));System.out.println("电话:"+rs.getString(7));}//用来为参数设定值private void setValue(Student s)throws SQLException{pstm.setString(1,s.No); //pstm.setString("StudentNo",s.No);pstm.setString(2,); //pstm.setString("Name",);pstm.setInt(3,s.Age); //pstm.setInt("Age",s.Age);pstm.setString(4,s.Sex); //pstm.setString("Sex",s.Sex);pstm.setString(5,s.Address);//pstm.setString("Address",s.Address); pstm.setString(6,s.Email); //pstm.setString("Email",s.Email);pstm.setString(7,s.Phone); //pstm.setString("Phone",s.Phone);}//关闭结果集和Statement对象private void closeAll()throws SQLException{rs.close();stm.close();}//关闭连接void closeConn()throws SQLException{conn.close();}}将上述代码存入d:\j文件夹,名为StudentSystem.java,编译情况如下:●运行结果●算法分析4、实现数据库的增删改查操作//p181,主控程序class MainStudent{public static void main(String args[])throws Exception{//创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象Student s1=new Student("20053051103","李三",22,"男","河北","168755955@","12345908945");Student s2=new Student("20053051105","王五",21,"男","湖北","wangwu@","12345908846");Student s3=new Student("20053051106","刘萍",22,"女","江西","zsan@","12345908965");Student s4=new Student("20053051107","黄志彬",21,"男","湖北","huang@","12345778849");//将学生信息写入数据库ss.insertStudent(s1);ss.insertStudent(s2);ss.insertStudent(s3);ss.insertStudent(s4);//查找指定学号学生//ss.selectNo("20053051101");//修改学生信息//ss.updateStudent(s);//删除指定学号学生信息//ss.deleteNo("20053051102");//显示所有学生信息ss.selectAll();//关闭数据库连接ss.closeConn();}}增加4条记录并显示:查找学号为"20053051106" 的学生:class MainStudent{public static void main(String args[])throws Exception{ //创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象//查找指定学号学生ss.selectNo("20053051106");ss.closeConn();}}删除学号为"20053051106" 的学生:class MainStudent{public static void main(String args[])throws Exception{ //创建数据库操作类实例StudentSystem ss=new StudentSystem();//创建学生对象//删除指定学号学生信息ss.deleteNo("20053051106");//显示所有学生信息ss.selectAll();//关闭数据库连接ss.closeConn();}}观察,学号为"20053051106" 的学生即“刘萍”被删除了。

java连接数据库实验原理

java连接数据库实验原理

java连接数据库实验原理Java连接数据库的实验原理主要是通过Java中的JDBC (Java Database Connectivity) 接口来实现的。

JDBC是Java提供的一组API,用于连接和操作数据库。

以下是其基本原理:1. 加载和注册JDBC驱动:首先,Java程序需要加载和注册对应数据库的JDBC驱动。

这些驱动通常以JAR文件的形式存在,可以通过()方法加载和注册。

2. 建立数据库连接:使用DriverManager类的getConnection()方法建立到数据库的连接。

需要提供数据库的URL、用户名和密码。

3. 创建Statement或PreparedStatement:一旦建立了数据库连接,就可以创建Statement或PreparedStatement对象来执行SQL语句。

PreparedStatement用于执行参数化的SQL语句,可以提高性能并防止SQL注入攻击。

4. 执行SQL语句:使用Statement或PreparedStatement对象的executeQuery()、executeUpdate()等方法执行SQL语句。

5. 处理结果集:对于查询语句(SELECT),executeQuery()方法返回一个ResultSet对象,可以从中获取查询结果。

对于更新语句(INSERT、UPDATE、DELETE),executeUpdate()方法返回一个整数,表示受影响的行数。

6. 关闭资源:完成数据库操作后,需要关闭ResultSet、Statement或PreparedStatement以及数据库连接。

以下是一个简单的Java连接MySQL数据库的示例代码:```javaimport ;public class JdbcExample {public static void main(String[] args) {String url = "jdbc:String username = "root";String password = "password";try {// 加载和注册JDBC驱动("");// 建立数据库连接Connection connection = (url, username, password);// 创建PreparedStatementString sql = "INSERT INTO mytable (name, age) VALUES (?, ?)"; PreparedStatement statement = (sql);(1, "Alice");(2, 30);// 执行SQL语句int rowsAffected = ();(rowsAffected + " row(s) affected");// 关闭资源();();} catch (Exception e) {();}}}```。

java课程设计及实验报告

java课程设计及实验报告

java课程设计及实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、面向对象编程思想以及常用的数据结构与算法。

通过课程的学习,使学生能够独立完成简单的Java程序,培养学生的编程能力和逻辑思维能力。

具体的教学目标如下:1.知识目标:–掌握Java基本语法和编程规范;–理解面向对象编程的基本概念和方法;–熟悉常用的数据结构(如数组、链表、栈、队列等)和算法(如排序、查找等)。

2.技能目标:–能够使用Java编写简单的程序,解决实际问题;–能够运用面向对象编程思想进行程序设计;–能够运用常用的数据结构与算法解决编程问题。

3.情感态度价值观目标:–培养学生的团队合作意识和沟通能力;–培养学生的创新精神和解决问题的能力;–培养学生的自主学习能力和持续学习的兴趣。

二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.Java基本语法和编程规范;2.面向对象编程思想,包括类与对象、继承与多态、封装等;3.常用的数据结构与算法,包括数组、链表、栈、队列、排序、查找等;4.Java标准库的使用,包括字符串、数学运算、输入输出等;5.简单的Java编程实例和实战项目。

教学内容的安排和进度如下:•第1-2周:Java基本语法和编程规范;•第3-4周:面向对象编程思想;•第5-6周:常用的数据结构与算法;•第7-8周:Java标准库的使用;•第9-10周:简单的Java编程实例和实战项目。

三、教学方法为了达到教学目标,本课程将采用多种教学方法,包括:1.讲授法:讲解Java基本语法、面向对象编程思想和常用的数据结构与算法;2.案例分析法:分析实际的编程案例,让学生更好地理解和运用Java编程知识;3.实验法:让学生通过动手实践,巩固所学知识和技能;4.讨论法:学生进行小组讨论,培养学生的团队合作意识和沟通能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java编程思想》;2.参考书:《Java核心技术》、《Head First Java》;3.多媒体资料:教学PPT、视频教程、在线编程练习题等;4.实验设备:计算机、网络环境、编程开发环境(如Eclipse、IntelliJIDEA等)。

数据库课程设计--java+sql-server--学生管理系统

数据库课程设计--java+sql-server--学生管理系统

课程设计任务书题目:学生管理系统学姓专课号名业程信息科学与工程学院数据库技术与应用指导教师职称讲师完成时间:2011年06 月----2010 年07 月枣庄学院计算机科学系制目录1学生信息管理系统概述 (5)1.1系统的任务 (5)1.2系统的目标 (5)2系统具体需求分析 (6)2.1系统需求 (6)2.2数据字典 (6)2.3数据流图 (10)3概念结构设计 (11)4.逻辑结构设计 (14)5.物理结构设计 (15)表汇总 (15)表A—F (16)6.数据保护设计 (18)6.1防止用户直接操作数据库的方法 (18)6.2用户帐号密码的加密方法 (18)6.3角色与权限 (18)7.运行管理与维护说明 (19)8.SQL语句及部分关键JAVA语句 (20)9.心得与体会 (29)8.参考资料 (29)课程设计任务书及成绩评定课程设计的任务和具体要求数据库应用课程设计是计算机技术专业重要的实践课程之一,是在掌握程序设计语言的基础上,学习《数据库原理》课程后的一次综合实践练习。

通过本课程设计,将在课堂上了解和掌握的数据库原理以及设计阶段的方法与技术,直接运用到实际系统的开发工作中。

并且在项目小组长及成员间的合作和沟通中,体验软件项目管理技能和方法,熟悉软件工具与环境。

本次课程设计要求我们小组成员间加强团队合作和沟通,同时每个成员承担明确的责任,独立按时完成相应任务;按照模版完成相应的文档,语言简洁、通顺,开发的系统功能符合需求规格,并能够准确、稳定地运行。

日期:指导教师签字:指导教师评语成绩:指导教师签字:日期:需求分析:1、学生信息管理系统概述学生信息管理系统主要用来管理学生基本信息。

本系统是一个简单的学生信息管理系统,系统管理的信息主要是学生基本信息、课程信息和学生选课信息。

系统的目的是有效地处理这些信息,同时为用户提供信息检索、信息修改和保护功能。

1.1 系统的任务学生信息管理系统是学校有效管理学生的重要工具,它的任务主要有以下几项:◆◆◆◆◆学生基本信息管理,主要负责管理学生基本信息。

javaoracle课程设计

javaoracle课程设计

java oracle 课程设计一、教学目标本课程的目标是让学生掌握Java编程语言和Oracle数据库的基本知识和技能,能够运用Java语言编写简单的程序,并能够使用Oracle数据库进行数据的存储、查询和管理。

具体的学习目标包括:1.知识目标:学生能够理解Java语言的基本语法、数据类型、控制结构、面向对象编程等概念;掌握Oracle数据库的基本架构、SQL语言、存储过程和触发器等知识。

2.技能目标:学生能够运用Java语言编写简单的程序,解决实际问题;能够使用Oracle数据库进行数据的创建、查询、更新和删除,以及管理数据库的备份和恢复。

3.情感态度价值观目标:学生能够积极参与课堂讨论和实践操作,培养团队合作意识和问题解决能力;认识到计算机编程和数据库知识在现代社会的重要性,激发学习的兴趣和动力。

二、教学内容本课程的教学内容主要包括Java编程语言和Oracle数据库两个部分。

具体的教学大纲如下:1.Java编程语言:–Java简介和环境配置–基本语法和数据类型–控制结构和面向对象编程–常用类库和异常处理–文件操作和多线程编程2.Oracle数据库:–Oracle数据库简介和安装配置–SQL语言基础和数据库设计–数据查询和操作–存储过程和触发器–数据库的备份和恢复三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。

具体包括:1.讲授法:教师讲解Java编程语言和Oracle数据库的基本概念和知识点,引导学生理解并掌握相关知识。

2.案例分析法:通过分析实际案例,让学生学会如何运用Java语言和Oracle数据库解决实际问题,提高学生的实践能力。

3.实验法:安排实验室实践环节,让学生动手编写Java程序和操作Oracle数据库,培养学生的实际操作能力。

4.小组讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的团队协作能力。

四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:选用权威、实用的Java和Oracle教材,为学生提供系统的学习资料。

数据连接Java实验报告

数据连接Java实验报告

数据连接Java实验报告引言Java作为一种通用的编程语言,提供了丰富的API来处理各种类型的数据。

在这个实验中,我们将学习如何使用Java连接数据库,执行SQL查询和更新操作。

我们将使用Java的JDBC(Java Database Connectivity)API来实现这个功能。

实验目标1. 理解JDBC的基本原理和概念2. 掌握Java连接数据库的方法3. 学会使用Java执行SQL查询和更新操作实验环境- 操作系统:Windows 10- JDK版本:Java SE 8- 数据库:MySQL实验步骤1. 安装数据库:首先,我们需要安装一个数据库作为我们的数据存储和操作的对象。

在这个实验中,我们将使用MySQL作为我们的数据库。

2. 导入JDBC驱动:在Java程序中连接数据库的第一步是导入相应的JDBC驱动。

在这个实验中,我们将使用MySQL提供的官方JDBC驱动。

我们需要从MySQL官方网站上下载并导入这个驱动。

3. 连接数据库:使用JDBC,我们可以通过创建一个`Connection`对象来连接到数据库。

首先,我们需要指定数据库的URL,用户名和密码。

然后,我们可以使用`DriverManager`的`getConnection()`方法来创建一个连接。

4. 执行SQL查询:一旦我们连接到数据库,我们就可以执行SQL查询了。

我们可以使用`Statement`或`PreparedStatement`对象来执行查询。

使用`Statement`对象时,我们需要手动拼接SQL语句;而使用`PreparedStatement`对象时,我们可以使用参数化查询来避免SQL注入的风险。

5. 处理查询结果:当我们执行一个SQL查询后,我们将获得一个`ResultSet`对象来存储查询结果。

我们可以使用`ResultSet`对象的方法来遍历和获取查询结果。

6. 执行SQL更新操作:除了查询操作,我们还可以执行SQL更新操作,如插入、更新和删除。

Java连接Mysql:通过配置文件

Java连接Mysql:通过配置文件

Java连接Mysql:通过配置⽂件转载⾃:1、导⼊数据库驱动jar包,与及编写数据库配置⽂件(mysql.properties),mysql.properties放在项⽬的src⽬录下[本例使⽤的数据库为Mysql5.5,数据库驱动jar包为mysql-connector-java-5.0.8-bin.jar]mysql.properties:name=com.mysql.jdbc.Driver //数据库驱动名称url=jdbc:mysql://127.0.0.1:3306/dormitory //数据库连接urluser=root //数据库连接⽤户名password=123456 //数据库连接密码2、编写mysql.properties读取属性类Mysqlread.java,负责读取mysql.properties中的属性名称import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.util.Iterator;import java.util.Properties;public class Mysqlread {public static final String [] message=readurl();private static String[] readurl() {Properties prop=new Properties();String [] message=new String[4];int i=0;try {InputStream in=new BufferedInputStream(new FileInputStream("src/mysql.properties"));prop.load(in);message[0]=prop.getProperty("name");message[1]=prop.getProperty("url");message[2]=prop.getProperty("user");message[3]=prop.getProperty("password");in.close();} catch (Exception e) {e.printStackTrace();return null;}return message;}}3、编写数据库连接类MysqlOperation.javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class MysqlOperation {private static final String[] mysqlmessage=Mysqlread.message;public static Connection getConnection(){Connection conn=null;try {Class.forName(mysqlmessage[0]);conn=DriverManager.getConnection(mysqlmessage[1],mysqlmessage[2],mysqlmessage[3]);} catch (ClassNotFoundException e) {System.out.println("驱动类库不能发现");} catch (SQLException e) {System.out.println("SQL异常");}return conn;}public static void close(Connection conn){if(conn!=null){try {conn.close();} catch (SQLException e) {System.out.println("SQL异常");}}}public static void close(Statement statement){if(statement!=null){try {statement.close();} catch (SQLException e) {e.printStackTrace();}statement=null;}}public static void close(ResultSet rs){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}rs=null;}}}4、编写⼀个测试类测试上述代码是否成功import static org.junit.Assert.*;import java.sql.Connection;import org.junit.Test;import com.mrw.util.MysqlOperation;public class TestPropertisread {@Testpublic void test() {Connection conn=MysqlOperation.getConnection(); System.out.println(conn);MysqlOperation.close(conn);}}运⾏结果为:。

Java连接sqlyog课程设计

Java连接sqlyog课程设计

Java连接sqlyog课程设计一、教学目标本课程旨在让学生掌握Java语言连接Sqlyog数据库的基本知识和技能。

通过本课程的学习,学生将能够:1.理解Java语言的基本概念和语法;2.掌握Java连接Sqlyog数据库的常用方法和步骤;3.能够编写简单的Java程序,实现对Sqlyog数据库的增、删、改、查等操作。

同时,通过本课程的学习,培养学生独立思考、合作交流的能力,提高学生对计算机编程和数据库技术的兴趣和热情。

二、教学内容本课程的教学内容主要包括以下几个部分:1.Java语言的基本概念和语法;2.Java连接Sqlyog数据库的常用方法和步骤;3.Java操作Sqlyog数据库的增、删、改、查等基本操作;4.综合案例:编写一个简单的Java程序,实现对Sqlyog数据库的管理。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:用于讲解Java语言的基本概念和语法,以及连接和操作Sqlyog数据库的基本方法;2.案例分析法:通过分析具体的案例,让学生理解并掌握Java操作Sqlyog数据库的技巧;3.实验法:安排一定的实验课时,让学生动手实践,巩固所学知识;4.讨论法:学生进行小组讨论,培养学生的合作精神和解决问题的能力。

四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:《Java编程基础》、《Sqlyog用户手册》;2.参考书:《Java数据库连接》、《Java Web开发实战》;3.多媒体资料:教学PPT、视频教程;4.实验设备:计算机、网络设备、Sqlyog数据库软件。

以上教学资源将有助于丰富学生的学习体验,提高教学效果。

五、教学评估本课程的评估方式将包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和积极性;2.作业:布置适量的作业,评估学生的理解和应用能力;3.考试:进行期中考试和期末考试,全面评估学生的知识掌握和编程能力。

java信息管理系统课程设计

java信息管理系统课程设计

java信息管理系统课程设计一、课程目标知识目标:1. 理解Java语言在信息管理系统中的应用,掌握Java基础语法和数据结构;2. 学会使用Java编写简单的信息管理系统功能,如用户登录、数据增删改查等;3. 了解数据库连接和SQL语句在Java中的应用,能够实现简单的数据库操作。

技能目标:1. 能够运用所学知识,设计并实现一个简单的信息管理系统;2. 掌握Java编程规范,养成良好的编程习惯,提高代码质量;3. 学会使用调试工具和技巧,解决编程过程中遇到的问题。

情感态度价值观目标:1. 培养学生对信息管理系统的兴趣,激发学习主动性和积极性;2. 培养学生的团队协作能力,学会与他人共同解决问题;3. 增强学生的自信心,让他们认识到自己在编程方面的潜力。

分析课程性质、学生特点和教学要求:1. 课程性质:本课程为实践性较强的课程,旨在让学生通过实际操作,掌握Java语言在信息管理系统中的应用;2. 学生特点:学生具备一定的Java基础,对编程有一定兴趣,但实践经验和团队协作能力有待提高;3. 教学要求:注重理论与实践相结合,充分调动学生的积极性,培养学生的实际操作能力和团队协作能力。

1. 独立设计并实现一个简单的信息管理系统;2. 掌握Java编程规范,编写高质量的代码;3. 学会与他人合作,共同解决编程过程中遇到的问题;4. 提高自身在编程方面的自信心和兴趣。

二、教学内容1. Java基础语法回顾:变量、数据类型、运算符、控制流程(条件语句、循环语句)等;2. 面向对象编程:类与对象、封装、继承、多态等;3. 常用数据结构:数组、集合(List、Set、Map)等;4. 异常处理:try-catch-finally结构,自定义异常等;5. 文件操作:文件的读取与写入,文件的随机访问等;6. 数据库连接:JDBC概述,数据库连接与操作,SQL语句执行等;7. 信息管理系统功能实现:用户登录、数据增删改查等;8. 项目实践:分组进行项目设计,实现一个简单的信息管理系统。

学籍管理系统软件,java,课程设计,山东建筑大学

学籍管理系统软件,java,课程设计,山东建筑大学

String password="zhangchangming"; conn=DriverManager.getConnection (url,user,password); System.out.println("连接数据库成功"); st=conn.createStatement(ResultSet. TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public int executeUpdate(String sqlUpdate) throws SQLException{ int ret=-1; ret=st.executeUpdate(sqlUpdate); return ret; } public ResultSet executeQuery(String sqlSelect) throws SQLException{ rs=st.executeQuery(sqlSelect); return rs; } public Connection getConnection(){ return conn; } public void setConnection(boolean autoCommit) throws SQLException{ conn.setAutoCommit(autoCommit); } public void Commit() throws SQLException{ mit(); } public void RollBack() throws SQLException{ conn.rollback(); } public void close(){

(完整版)JAVA课程设计---学籍管理系统

(完整版)JAVA课程设计---学籍管理系统

JAVA课程设计题目: JAVA学籍管理系统姓名:学号:班级:日期:目录二、具体实现 (2)三、运行调试与分析讨论 (4)四、设计体会与小结 (12)五、参考文献 (12)六、附录 (13)一、设计思路随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软家来管理本班级同学的学籍信息。

该软件应支持添加、删除、修改、查询功能。

并且查询功能分为两种情况显示查询的结果:查询方式主要是支持学号查询,例如:输入“111”,则显示该学生的信息。

运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;管理员登录、管理员添加信息,系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正二、具体实现该系统中的信息存储在数据库中,并实现以下各功能:管理员登录:管理员帐号admin,密码:12345,进行增删查改。

添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。

通过文本框读入添加信息,连接数据库后储存数据。

精确查询:输入要查询同学的学号,显示出该同学的信息。

通过文本框读入要查找的信息,用SQL语句在数据库中进行查找.删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。

修改功能:当同学的信息改变时,用此功能更新同学信息。

通过对数据库信息的更新保存最新信息。

每种功能通过一个类来实现:类分分为主类、精确查询类、修改类、添加类、增加类。

主类(Info_manager )实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent )实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。

javaweb+oracle课程设计

javaweb+oracle课程设计

javaweb+oracle课程设计JavaWeb+Oracle课程设计可以涵盖很多内容,下面是一些可能的步骤和指导:1. 确定设计目标:明确课程设计的目标,例如开发一个基于Web的数据库应用,或者构建一个电子商务网站等。

根据目标确定所需的技术和工具,例如JavaWeb技术(如Servlet、JSP、JavaBean等)、Oracle数据库以及相关的ORM 框架(如Hibernate)等。

2. 数据库设计:根据需求分析,设计数据库表结构,确定表之间的关系,并创建相应的数据库表。

可以使用Oracle 等关系型数据库进行数据存储和管理。

3. 前后端分离设计:在JavaWeb开发中,通常采用前后端分离的设计模式。

前端负责数据的展示和用户的交互,后端负责数据的处理和服务的提供。

前端可以使用HTML、CSS、JavaScript等技术进行页面设计和布局,后端则可以使用JavaWeb技术处理业务逻辑,并与数据库进行交互。

4. 建立连接:在JavaWeb应用中,需要建立与Oracle 数据库的连接。

可以使用JDBC(Java Database Connectivity)方式连接Oracle数据库,或者使用ORM框架(如Hibernate)进行数据库操作。

5. 实现数据访问:在JavaWeb应用中,可以通过JSP(JavaServer Pages)或Servlet来访问Oracle数据库中的数据。

可以使用SQL语句进行数据的查询、插入、更新和删除操作。

6. 实现业务逻辑:根据需求分析,实现业务逻辑代码,包括用户认证、数据验证、事务处理等。

7. 部署和测试:将JavaWeb应用部署到服务器上,进行测试和调试,确保应用的稳定性和可靠性。

可以使用Tomcat 等应用服务器进行部署和运行。

8. 文档编写:编写课程设计报告,包括需求分析、设计思路、实现方法、测试结果等内容。

以上是JavaWeb+Oracle课程设计的一般步骤和指导,具体实现还需要根据具体需求进行调整和完善。

java课程设计设计实验报告

java课程设计设计实验报告

java课程设计设计实验报告一、教学目标本课程旨在通过Java编程语言的学习,让学生掌握Java编程的基本语法、流程控制、数据结构、面向对象编程等基本知识,培养学生运用Java语言解决实际问题的能力。

具体目标如下:1.知识目标:(1)理解Java编程语言的基本语法和编程规范;(2)掌握Java中的基本数据类型、运算符、表达式;(3)了解Java的流程控制语句,如if、for、while等;(4)熟悉Java数组、字符串、集合等数据结构的使用;(5)理解面向对象编程的基本概念,如类、对象、封装、继承、多态等;(6)掌握Java异常处理机制和文件操作。

2.技能目标:(1)能够使用Java编写简单的程序,实现基本的功能;(2)能够运用面向对象编程思想,设计并实现具有一定复杂度的程序;(3)具备阅读Java代码的能力,能够理解并修改他人编写的程序;(4)掌握使用Java开发工具,如Eclipse、IntelliJ IDEA等;(5)了解Java程序的调试和性能优化方法。

3.情感态度价值观目标:(1)培养学生对编程语言的兴趣,激发学生主动学习的动力;(2)培养学生团队合作精神,提高学生沟通协作能力;(3)培养学生面对挑战、解决问题的信心和勇气;(4)培养学生具有良好的代码规范和编程习惯。

二、教学内容本课程的教学内容主要包括Java编程语言的基本语法、流程控制、数据结构、面向对象编程等。

具体安排如下:1.第一章:Java入门,介绍Java编程语言的基本概念、环境搭建和基本语法;2.第二章:基本数据类型和运算符,学习Java中的整数、浮点数、字符、布尔等数据类型以及运算符;3.第三章:流程控制语句,学习if、for、while等流程控制语句的使用;4.第四章:数组和字符串,学习数组的声明、初始化和使用,字符串的创建、操作和转换;5.第五章:集合框架,学习List、Set、Map等集合接口及其实现类的使用;6.第六章:面向对象编程,学习类、对象、封装、继承、多态等概念及应用;7.第七章:异常处理和文件操作,学习Java异常处理机制和文件读写方法;8.第八章:Java编程实践,通过案例分析法和实验法,巩固所学知识,提高实际编程能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

****大学学生实验报告实验课程名称J2EE及JA V A程序设计开课实验室DS1501学院软件学院年级2012专业班1班学生姓名学号开课时间2013至2014学年第2学期总成绩教师签名软件学院制《J2EE及JA V A程序设计》实验报告开课实验室:DS15012014年6月22日学院软件学院年级、专业、班12级1班姓名成绩课程名称J2EE及JAV A程序设计实验项目名称实验6-8:图形界面编程、抽象类与接口、数据库。

指导教师教师评语教师签名:2014年月日一、实验目的实验六:基本掌握使用JAV A来完成基本的图形界面等调试与编程,实现理论课上讲述的内容PPT内容的验证。

实验七:掌握抽象类与接口的概念,验证代码,能写小程序。

实验八:掌握利用JAV A完成数据库课程中的基本数据记录操作。

二、实验内容实验六内容:调试,验证,课件ppt内容,课后布置的作业(实验报告内容中可不写)。

实验七内容:完成教材12章关于抽象类与接口方面的范例内容的代码验证、后面作业的代码设计(实验报告中可不写)。

实验八内容:(二选一,提交该部分实验报告内容)1)利用图形界面编程,实现C/S模式的数据库访问操作。

完成SQL SERVER或MYSQL数据库管理系统的安装,配置,JA V A数据库访问环境的配置;完成数据库表的建立,记录插入等;建立用户表,包含用户名、密码字段;利用JA V A实现图形界面,用户登录验证,进入软件运行后,针对某表记录的增、删、改、查操作。

2)完成JA V A WEB应用开发,实现B/S模式的数据库访问操作。

完成SQL SERVER或MYSQL数据库管理系统的安装,配置,JA V A数据库访问环境的配置,Tomcat服务器安装配置;完成数据库表的建立,记录插入等;建立用户表,包含用户名、密码字段;利用JA V A实现WEB应用,通过浏览器访问WEB进行用户登录验证,进入WEB应用运行后,针对某表记录的增、删、改、查操作。

三、使用仪器、材料JAVA SE JDK1.7.55TomcatMysql/Sql server四、实验过程原始记录(数据、图表、计算等):学生基本信息表班级信息表院系信息表学生综合信息视图进入主界面点击“更新”菜单中的“对全体操作”选项,然后点击“查询”按钮点击“更新”菜单中的“添加”选项查询发现新增信息已经插入至学生基本信息表中点击“查询”中的“按姓名查询”选项,可根据视图查询学生包括系主任、班主任在内的的综合信息同理,点击“查询”中的“按学号查询”选项,也可根据视图查询上述信息点击“更新”菜单中的“对全体操作”选项,在所得信息表对信息中进行修改,然后点击“修改”按钮,可对学生基本信息进行修改点击“更新”菜单中的“对全体操作”选项,然后点击“删除”按钮,可删除某学生基本信息同于重名学生的存在,“查询”菜单中的“按姓名查询”可能会出现多条结果点击“更新”菜单中的“按学号删除”选项,输入上述所查得的两个重名学生中其一个的学号,可将其删除连接数据库:import java.sql.*;//创建数据库连接类public class DBConnect{//静态方法提高数据库的连接效率public static Connection getConn()throws Exception{//加载JDBC驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//以系统用户身份,连接数据库StudentManagerreturnDriverManager.getConnection("jdbc:odbc:StudentManager","sh","123"); }}登录:import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.*;//创建主界面类public class Login extends JFrame implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建内容面板JPanel contentPane;JLabel jLabel1=new JLabel("用户名:");JTextField jTextField1=new JTextField();JLabel jLabel2=new JLabel("密码:");JTextField jTextField2=new JPasswordField(20);JButton jButton1=new JButton("登录");JButton jButton2=new JButton("取消");//构造方法,创建对象时自动调用public Login(){try{//连接数据库con=DBConnect.getConn();st=con.createStatement();//关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit()throws Exception{//创建内容面板和其布局contentPane=(JPanel)getContentPane(); contentPane.setLayout(null);//框架的大小和其标题setSize(new Dimension(360,270));setTitle("学生信息管理系统");contentPane.add(jLabel1);contentPane.add(jLabel2);contentPane.add(jButton1);contentPane.add(jButton2);contentPane.add(jTextField1);contentPane.add(jTextField2);jLabel1.setBounds(new Rectangle(27,9,81,32)); jLabel2.setBounds(new Rectangle(27,72,81,32)); jTextField1.setBounds(new Rectangle(81,9,222,32)); jTextField2.setBounds(new Rectangle(81,72,222,32)); jButton1.setBounds(new Rectangle(18,162,145,32)); jButton2.setBounds(new Rectangle(166,162,145,32));//添加事件监听器jButton1.addActionListener(this);jButton2.addActionListener(this);}//菜单事件的处理方法public void actionPerformed(ActionEvent e1){if(e1.getSource()==jButton1){//获取用户输入的用户名和密码String Uer=jTextField1.getText();String Pas=jTextField2.getText();try{ResultSet rs=st.executeQuery("select UName,UPass from Users where UName='"+Uer+"'");while(rs.next()){String i=rs.getString("UName");String p=rs.getString("UPass");if(i.equals(Uer)&&p.equals(Pas)){setVisible(false);MainFrame add=new MainFrame();//令主界面窗体居中Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();Dimension frameSize=add.getSize();if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;add.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-f rameSize.height)/2);add.setVisible(true);break;}else{JOptionPane.showMessageDialog(this,"用户名或密码错误!");}}}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"登录失败!");}}else if(e1.getSource()==jButton2){System.exit(0);}}}主面板:import java.awt.*;import java.awt.event.*;import javax.swing.*;//创建主界面类public class MainFrame extends JFrame implements ActionListener {//创建内容面板JPanel contentPane;JMenuBar jMenuBar1=new JMenuBar();JMenu jMenuFile=new JMenu("文件");JMenuItem jMenuFileExit=new JMenuItem("退出");JMenu jMenu1=new JMenu("更新");JMenuItem jMenuItem1=new JMenuItem("添加学生信息"); JMenuItem jMenuItem2=new JMenuItem("按学号删除"); JMenuItem jMenuItem5=new JMenuItem("对全体操作");JMenu jMenu2=new JMenu("查询");JMenuItem jMenuItem3=new JMenuItem("按姓名查询"); JMenuItem jMenuItem4=new JMenuItem("按学号查询");JMenu jMenuHelp=new JMenu("帮助");JMenuItem jMenuHelpAbout=new JMenuItem("关于");JLabel jLabel1=new JLabel("欢迎使用学生信息管理系统");JLabel jLabel2=new JLabel("By:");//构造方法,创建对象时自动调用public MainFrame(){try{//关闭框架窗口时的默认事件方法setDefaultCloseOperation(EXIT_ON_CLOSE);//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit()throws Exception{//创建内容面板和其布局contentPane=(JPanel)getContentPane();contentPane.setLayout(null);//框架的大小和其标题setSize(new Dimension(400,450));setTitle("学生信息管理系统");//添加事件监听器jMenuFileExit.addActionListener(this); jMenuHelpAbout.addActionListener(this);jMenuItem1.addActionListener(this);jMenuItem2.addActionListener(this);jMenuItem3.addActionListener(this);jMenuItem4.addActionListener(this);jMenuItem5.addActionListener(this);//添加菜单条setJMenuBar(jMenuBar1);//添加菜单组件到菜单条jMenuBar1.add(jMenuFile);jMenuBar1.add(jMenu1);jMenuBar1.add(jMenu2);jMenuBar1.add(jMenuFileExit);jMenuBar1.add(jMenuHelp);//添加菜单项组件到菜单组件jMenuFile.add(jMenuFileExit);jMenuHelp.add(jMenuHelpAbout);jMenu1.add(jMenuItem1);jMenu1.add(jMenuItem2);jMenu1.add(jMenuItem5);jMenu2.add(jMenuItem3);jMenu2.add(jMenuItem4);//添加标签到内容面板contentPane.add(jLabel1);contentPane.add(jLabel2);//设置标签组件的大小和字体jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,22)); jLabel1.setBounds(new Rectangle(45,135,279,55)); jLabel2.setFont(new java.awt.Font("宋体",Font.BOLD,16)); jLabel2.setBounds(new Rectangle(211,350,200,35));}//菜单事件的处理方法public void actionPerformed(ActionEvent actionEvent){//点击“文件”菜单下的“退出”菜单项if(actionEvent.getSource()==jMenuFileExit){System.exit(0);}//点击“更新”菜单下的“添加”菜单项if(actionEvent.getSource()==jMenuItem1){//创建添加学生面板对象AddStudentPanel add=new AddStudentPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(add);//令界面可见this.setVisible(true);}//点击“更新”菜单下的“按学号删除”菜单项if(actionEvent.getSource()==jMenuItem2){//创建删除学生面板对象DeleteStudentPanel delete=new DeleteStudentPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(delete);//令界面可见this.setVisible(true);}//点击“查询”菜单下的“按姓名查询”菜单项if(actionEvent.getSource()==jMenuItem3){//创建“按姓名查询”面板对象InquireOnNamePanel onName=new InquireOnNamePanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onName);//令界面可见this.setVisible(true);}//点击“查询”菜单下的“按学号查询”菜单项if(actionEvent.getSource()==jMenuItem4){//创建“按学号查询”面板对象InquireOnXHPanel onXH=new InquireOnXHPanel();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onXH);//令界面可见this.setVisible(true);}//点击“更新”菜单下的“对全体操作”菜单项if(actionEvent.getSource()==jMenuItem5){//创建“对全体进行操作”面板对象onAll onA=new onAll();//移除主界面上原有的内容this.remove(this.getContentPane());this.setContentPane(onA);//令界面可见this.setVisible(true);}}}添加:import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class AddStudentPanel extends JPanel implements ActionListener {//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("学号");JLabel jLabel2=new JLabel("姓名");JLabel jLabel3=new JLabel("性别");JLabel jLabel4=new JLabel("出生日期");JLabel jLabel5=new JLabel("籍贯");JLabel jLabel6=new JLabel("注意:出生日期格式为YYYY/MM/DD");JLabel jLabel7=new JLabel("班号");JLabel jLabel8=new JLabel("系号");JTextField jTextField1=new JTextField();JTextField jTextField2=new JTextField();JTextField jTextField3=new JTextField();JTextField jTextField4=new JTextField();JTextField jTextField5=new JTextField();JTextField jTextField6=new JTextField();JRadioButton jRadioButton1=new JRadioButton("男"); JRadioButton jRadioButton2=new JRadioButton("女"); ButtonGroup buttonGroup1=new ButtonGroup();JButton jButton1=new JButton("存入数据库");//构造方法public AddStudentPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit()throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setBounds(new Rectangle(21,17,64,24));jLabel2.setBounds(new Rectangle(21,51,53,22));jLabel3.setBounds(new Rectangle(21,86,61,27));jLabel4.setBounds(new Rectangle(21,122,59,25));jLabel5.setBounds(new Rectangle(21,188,54,24));jLabel6.setBounds(new Rectangle(102,153,219,27));jLabel7.setBounds(new Rectangle(21,225,53,22));jLabel8.setBounds(new Rectangle(21,273,53,22));jTextField1.setBounds(new Rectangle(102,10,200,30));jTextField2.setBounds(new Rectangle(102,49,200,30));jTextField3.setBounds(new Rectangle(102,117,200,30));jTextField4.setBounds(new Rectangle(102,183,200,30));jTextField5.setBounds(new Rectangle(102,222,200,30));jTextField6.setBounds(new Rectangle(102,270,200,30));jRadioButton1.setBounds(new Rectangle(102,83,65,30));jRadioButton2.setBounds(new Rectangle(190,85,85,30));jButton1.setBounds(new Rectangle(110,320,180,30));//设置单选按钮被选中jRadioButton1.setSelected(true);//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jTextField1);this.add(jLabel1);this.add(jLabel2);this.add(jTextField2);this.add(jRadioButton1);this.add(jRadioButton2);this.add(jLabel3);this.add(jLabel4);this.add(jTextField3);this.add(jLabel6);this.add(jTextField4);this.add(jLabel5);this.add(jTextField5);this.add(jLabel7);this.add(jTextField6);this.add(jLabel8);this.add(jButton1);buttonGroup1.add(jRadioButton1);buttonGroup1.add(jRadioButton2);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的信息String xuehao=jTextField1.getText();String xingming=jTextField2.getText();String xingbie="";if(jRadioButton1.isSelected())xingbie+="男";if(jRadioButton2.isSelected())xingbie+="女";String dateString=jTextField3.getText();String jiguan=jTextField4.getText();String banhao=jTextField5.getText();String xihao=jTextField6.getText();try{//设置日期格式st.execute("set dateformat ymd");//利用st对象执行SQL语句,进行插入操作st.executeUpdate("insert into StudentInfovalues('"+xuehao+"','"+xingming+"','"+xingbie+"','"+dateString+"','"+jigu an+"','"+xihao+"','"+banhao+"')");//清空文本行的内容jTextField1.setText("");jTextField2.setText("");jTextField3.setText("");jTextField4.setText("");jTextField5.setText("");jTextField6.setText("");//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"插入成功!");}catch(Exception ex){//利用消息对话框提示不能插入,并显示异常的信息JOptionPane.showMessageDialog(this,"输入数据错误或者数据库不允许插入!");ex.printStackTrace();}}}按学号删除:import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“删除学生面板”类public class DeleteStudentPanel extends JPanel implements ActionListener {//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象JLabel jLabel1=new JLabel("请输入待删除的学生的学号:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("删除");//构造方法//构造方法public DeleteStudentPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//界面初始化方法private void jbInit()throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,14));jLabel1.setBounds(new Rectangle(70,20,200,30));jTextField1.setBounds(new Rectangle(70,80,207,41));jButton1.setBounds(new Rectangle(70,175,205,36));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的学号String xuehao=jTextField1.getText();//要求用户确认删除if(JOptionPane.showConfirmDialog(this,"确认要删除吗?")==JOptionPane.YES_OPTION){try{//利用st对象执行SQL删除操作st.executeUpdate("delete from StudentInfo where学号='"+xuehao+"'");//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"删除操作成功!");//清空输入学号的文本行jTextField1.setText("");}catch(Exception ex){//利用消息对话框提示不能删除JOptionPane.showMessageDialog(this,"删除操作执行失败!");}}}}对全体操作:import java.awt.*;import java.sql.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.awt.event.*;import java.util.*;//创建“对全体操作面板”类public class onAll extends JPanel implements ActionListener{//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;JButton jButton1=new JButton("查询");JButton jButton2=new JButton("删除");//JButton jButton3=new JButton("添加");JButton jButton4=new JButton("修改");JScrollPane jScrollPane1=new JScrollPane(); DefaultTableModel myTModel=new DefaultTableModel();final JTable table=new JTable(myTModel);//构造方法public onAll(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//面板初始化方法private void jbInit()throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jButton2.setBounds(new Rectangle(29,333,150,30));jButton1.setBounds(new Rectangle(90,30,160,30));jButton4.setBounds(new Rectangle(196,333,150,30));jScrollPane1.setBounds(new Rectangle(29,90,315,230));//添加按钮动作事件jButton1.addActionListener(this);jButton2.addActionListener(this);jButton4.addActionListener(this);//添加组件到面板this.add(jScrollPane1);jScrollPane1.getViewport().add(table);this.add(jButton1);this.add(jButton2);this.add(jButton4);}//点击按钮事件public void actionPerformed(ActionEvent e){if(e.getSource()==jButton1){try{Vector<String>colNames=new Vector<String>(7);Vector<Vector<Object>>dataVector=new Vector<Vector<Object>>(5);colNames.add("学号");colNames.add("姓名");colNames.add("性别");colNames.add("出生日期");colNames.add("籍贯");colNames.add("系号");colNames.add("班级号");//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select*from StudentInfo");//处理结果集:逐条显示结果集中的记录while(rs.next()){Vector<Object>ss=new Vector<Object>(5);ss.add(rs.getString("学号"));ss.add(rs.getString("姓名"));ss.add(rs.getString("性别"));ss.add(rs.getString("出生日期"));ss.add(rs.getString("籍贯"));ss.add(rs.getString("系号"));ss.add(rs.getString("班级号"));dataVector.add(ss);}myTModel.setDataVector(dataVector,colNames);}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}table.setModel(myTModel);}else if(e.getSource()==jButton2){int row=table.getSelectedRow();if(row!=-1)//判断是否有选中的行{String s1=(String)table.getValueAt(row,0);try{//利用st对象执行SQL删除操作st.executeUpdate("delete from StudentInfo where学号='"+s1+"'");myTModel.removeRow(row);//删除指定行//利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,"删除操作成功!");}catch(Exception ex){//利用消息对话框提示不能删除JOptionPane.showMessageDialog(this,"删除操作执行失败!");}}}else if(e.getSource()==jButton4){try{int row=table.getSelectedRow();//选择要修改的行if(row!=-1)//判断是否有选中的行{String s1=(String)table.getValueAt(row,0);String s2=(String)table.getValueAt(row,1);String s3=(String)table.getValueAt(row,2);String s4=(String)table.getValueAt(row,3);String s5=(String)table.getValueAt(row,4);String s6=(String)table.getValueAt(row,5);String s7=(String)table.getValueAt(row,6);//设置日期格式st.execute("set dateformat ymd");st.executeUpdate("update StudentInfo set学号='"+s1+"',姓名='"+s2+"',性别='"+s3+"',出生日期='"+s4+"',籍贯='"+s5+"',系号='"+s6+"',班级号='"+s7+"'where学号='"+s1+"'");JOptionPane.showMessageDialog(this,"修改成功!");}}catch(Exception ex){//利用消息对话框提示不能插入,并显示异常的信息JOptionPane.showMessageDialog(this,"输入数据错误或者数据库不允许修改!");ex.printStackTrace();}}}}按姓名查询:import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class InquireOnNamePanel extends JPanel implements ActionListener {//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("请输入待查询的学生的姓名:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("按姓名查询");JScrollPane jScrollPane1=new JScrollPane();JTextArea jTextArea1=new JTextArea();//构造方法public InquireOnNamePanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//面板初始化方法private void jbInit()throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,14));jLabel1.setBounds(new Rectangle(80,10,200,34));jTextField1.setBounds(new Rectangle(80,50,200,30));jButton1.setBounds(new Rectangle(100,90,160,30));jScrollPane1.setBounds(new Rectangle(29,125,308,130));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jScrollPane1);jScrollPane1.getViewport().add(jTextArea1);this.add(jLabel1);this.add(jTextField1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的姓名String xingming=jTextField1.getText();//清空文本区原有的内容jTextArea1.setText("");//要求用户确认删除try{//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select*from view1where姓名='"+xingming+"'");//处理结果集:逐条显示结果集中的记录while(rs.next()){jTextArea1.append(rs.getString("学号")+""+rs.getString("姓名")+" "+rs.getString("性别")+""+rs.getString("出生日期")+""+rs.getString("籍贯")+"\n");jTextArea1.append("系名:"+rs.getString("系名")+"系主任:"+rs.getString("系主任")+"\n");jTextArea1.append("班级:"+rs.getString("班级号")+"班主任:"+rs.getString("班主任")+"\n");//清空文本行的内容}jTextField1.setText("");}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}}}按学号查询:import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;//创建“添加学生面板”类public class InquireOnXHPanel extends JPanel implements ActionListener {//声明连接数据库对象Connection con;//声明SQL语句对象Statement st;//创建组件对象:标签、文本行、单选JLabel jLabel1=new JLabel("请输入待查询的学生的学号:");JTextField jTextField1=new JTextField();JButton jButton1=new JButton("按学号查询");JTextArea jTextArea1=new JTextArea();//构造方法public InquireOnXHPanel(){try{//调用初始化方法jbInit();}catch(Exception exception){exception.printStackTrace();}}//面板初始化方法private void jbInit()throws Exception{//连接数据库con=DBConnect.getConn();st=con.createStatement();//框架的布局this.setLayout(null);//设置各组件的大小jLabel1.setFont(new java.awt.Font("宋体",Font.BOLD,16));jLabel1.setBounds(new Rectangle(46,4,222,32));jTextField1.setBounds(new Rectangle(47,37,247,31));jButton1.setBounds(new Rectangle(47,86,247,30));jTextArea1.setBounds(new Rectangle(24,130,305,109));//添加按钮动作事件jButton1.addActionListener(this);//添加组件到面板this.add(jLabel1);this.add(jTextField1);this.add(jTextArea1);this.add(jButton1);}//点击按钮事件public void actionPerformed(ActionEvent e){//获取用户输入的学号String xuehao=jTextField1.getText();//清空文本区原有的内容jTextArea1.setText("");try{//利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery("select*from view1where学号='"+xuehao+"'");if(rs.next()){jTextArea1.setText(rs.getString("学号")+""+rs.getString("姓名")+" "+rs.getString("性别")+""+rs.getString("出生日期")+""+rs.getString("籍贯")+"\n");jTextArea1.append("系名:"+rs.getString("系名")+"系主任:"+rs.getString("系主任")+"\n");jTextArea1.append("班级:"+rs.getString("班级号")+"班主任: "+rs.getString("班主任"));}else{JOptionPane.showMessageDialog(this,"没有这个学号!");}jTextField1.setText("");}catch(Exception ex){//利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,"查询失败!");}}}主程序:import java.awt.*;//创建主系统类class Main{public static void main(String[]args){//创建主界面//MainFrame frame=new MainFrame();Login log=new Login();//获取屏幕尺寸Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();//获取主界面的窗体尺寸Dimension frameSize=log.getSize();//令主界面窗体居中if(frameSize.height>screenSize.height)frameSize.height=screenSize.height;if(frameSize.width>screenSize.width)frameSize.width=screenSize.width;log.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-f rameSize.height)/2);//令主界面显示log.setVisible(true);}}。

相关文档
最新文档