JAVA程序实例:java+SQL server2008学生信息管理系统源码[Java代码]
龚超 2018-07-19 来源 : 阅读 1301 评论 0

摘要:本文主要向大家介绍了JAVA程序实例的java+SQL server2008学生信息管理系统源码,通过具体的内容向大家展示,希望对大家学习JAVA程序实例有所帮助。

本文主要向大家介绍了JAVA程序实例的java+SQL server2008学生信息管理系统源码,通过具体的内容向大家展示,希望对大家学习JAVA程序实例有所帮助。

本文实例为大家分享了java学生信息管理系统源码的具体代码,供大家参考,具体内容如下

1、StudetManage类(主界面)


package com.sms3;


import java.awt.*;

import javax.swing.*;

import java.awt.event.*;


public class StudentManage extends JFrame implements ActionListener

{

/**

* @param args

*/

public static void main(String[] args)

{

// TODO Auto-generated method stub

new StudentManage();

}


//========面板控件

private JLabel queryLab = null;

private JTextField queryTxt = null;

private JButton queryBtn = null;

private JButton allBtn = null;

private JTable resultTb = null;

private JScrollPane jsp = null;

private JButton addBtn = null;

private JButton deleteBtn = null;

private JButton updateBtn = null;

private JPanel top = null;

private JPanel bottom = null;

//========

private StuModel sm = null;


//构造函数

public StudentManage()

{

/***************************初始化面板控件***********************/

//========查询栏

queryLab = new JLabel("请输入姓名:");

queryTxt = new JTextField(10);

queryBtn = new JButton("查询");

allBtn = new JButton("全部");

//......添加查询栏监听

queryBtn.addActionListener(this);

queryBtn.setActionCommand("query");

allBtn.addActionListener(this);

allBtn.setActionCommand("all");

//========增删改栏

addBtn = new JButton("添加");

deleteBtn = new JButton("删除");

updateBtn = new JButton("修改");

//......添加增删改栏监听

addBtn.addActionListener(this);

addBtn.setActionCommand("add");

deleteBtn.addActionListener(this);

deleteBtn.setActionCommand("delete");

updateBtn.addActionListener(this);

updateBtn.setActionCommand("update");

//========创建窗口整体布局

//......顶层查询栏

top = new JPanel();

top.add(queryLab);

top.add(queryTxt);

top.add(queryBtn);

top.add(allBtn);

//......底层增删改栏

bottom = new JPanel();

bottom.add(addBtn);

bottom.add(deleteBtn);

bottom.add(updateBtn);

//......中间层显示栏

sm = new StuModel();

String sql = "select * from stu";

sm.queryStu(sql, null);

resultTb = new JTable(sm);

jsp = new JScrollPane(resultTb);

//......构建整体布局

this.add(top,BorderLayout.NORTH);

this.add(jsp,BorderLayout.CENTER);

this.add(bottom,BorderLayout.SOUTH);

//========设置窗口属性

this.setSize(400, 300);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setResizable(false);

}


//监听

@Override

public void actionPerformed(ActionEvent e)

{

// TODO Auto-generated method stub

if(e.getActionCommand().equals("query")) {

/*********************查询***********************/

//========获取输入学生的姓名

String name = queryTxt.getText().trim();

if(name.length() != 0) {

//========姓名输入有效时,执行查询

//......定义参数

String sql = "select * from stu where stuName=?";

String []paras = {name};

//......更新模型

jtableUpdate(sql, paras);

} else {

//========姓名为空时,设置提醒

JOptionPane.showMessageDialog(this, "姓名输入不能为空");

}

} else if(e.getActionCommand().equals("add")) {

/*********************添加***********************/

new StuAddDialog(this, "添加学生信息", true);

String sql = "select * from stu";

jtableUpdate(sql, null);

} else if(e.getActionCommand().equals("all")) {

/*********************全部显示***********************/

String sql = "select * from stu";

jtableUpdate(sql, null);

} else if(e.getActionCommand().equals("delete")) {

/*********************删除***********************/

//========获取选择行号

int rowNum = this.resultTb.getSelectedRow();

if(rowNum == -1) {

JOptionPane.showMessageDialog(this, "请选择一行");

return ;

}

//========获取学生ID号

String stuId = (String)sm.getValueAt(rowNum, 0);

//========删除学生

String sql = "delete from stu where stuId=?";

String []paras = {stuId};

StuModel tmp = new StuModel();

tmp.cudStu(sql, paras);

//========更新模型

sql = "select * from stu";

jtableUpdate(sql, null);

} else if(e.getActionCommand().equals("update")) {

/*********************修改***********************/

//========获取选择行号

int rowNum = this.resultTb.getSelectedRow();

if(rowNum == -1) {

JOptionPane.showMessageDialog(this, "请选择一行");

return ;

}

new StuUpdateDialog(this, "修改学生信息", true, sm, rowNum);

String sql = "select * from stu";

jtableUpdate(sql, null);

}

}


//========更新JTable内数据

public void jtableUpdate(String sql, String[] paras)

{

//......创建模型

sm = new StuModel();

sm.queryStu(sql, paras);

//......更新显示

resultTb.setModel(sm);

}


}



复制代码

2、StuModel类(学生数据库模型)


package com.sms3;


import java.sql.ResultSet;

import java.util.Vector;

import javax.swing.table.AbstractTableModel;


public class StuModel extends AbstractTableModel{

private Vector columnNames;

private Vector rowDates;


//

public StuModel()

{

String sql = "select * from stu";

String []paras = {};


}


//========增删改学生

public boolean cudStu(String sql, String []paras)

{

return new SqlHelper().cudExecute(sql, paras);

}


//========查询学生

public void queryStu(String sql, String []paras)

{

SqlHelper sqlHelper = null;

//========初始化JTable信息

columnNames = new Vector();

rowDates = new Vector();

columnNames.add("学号"); columnNames.add("名字");

columnNames.add("性别"); columnNames.add("年龄");

columnNames.add("籍贯"); columnNames.add("系别");


try {

sqlHelper = new SqlHelper();

ResultSet rs = sqlHelper.queryExecute(sql, paras);

while(rs.next()) {

Vector row = new Vector();

row.add(rs.getString(1));

row.add(rs.getString(2));

row.add(rs.getString(3));

row.add(rs.getString(4));

row.add(rs.getString(5));

row.add(rs.getString(6));

rowDates.add(row);

}

} catch (Exception e) {

// TODO: handle exception

} finally {

sqlHelper.close();

}


}


@Override

public int getColumnCount() {

// TODO Auto-generated method stub

return this.columnNames.size();

}


@Override

public int getRowCount() {

// TODO Auto-generated method stub

return this.rowDates.size();

}


@Override

public Object getValueAt(int row, int col) {

// TODO Auto-generated method stub

if(!rowDates.isEmpty())

return ((Vector)this.rowDates.get(row)).get(col);

else

return null;

}



@Override

public String getColumnName(int column) {

// TODO Auto-generated method stub

return (String)this.columnNames.get(column);

}



}



复制代码

3、StuAddDialog类(添加学生信息子界面)


package com.sms3;


import java.awt.BorderLayout;

import java.awt.Dialog;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.*;


public class StuAddDialog extends JDialog implements ActionListener{

//=========面板控件

//......左侧标题栏

private JLabel idLab,nameLab,sexLab,ageLab,jgLab,deptLab;

//......右侧信息选择填写栏

private JTextField idTxt,nameTxt,sexTxt,ageTxt,jgTxt,deptTxt;

//......添加和取消按钮

private JButton addBtn,cancelBtn;

//......布局控件

private JPanel left,center,bottom;


//构造函数

public StuAddDialog(Frame owner, String title, boolean modal)

{

//========重写父类方法

super(owner, title, modal);

//========左侧标签栏

idLab = new JLabel("学号: ");

nameLab = new JLabel("姓名: ");

sexLab = new JLabel("性别: ");

ageLab = new JLabel("年龄: ");

jgLab = new JLabel("籍贯: ");

deptLab = new JLabel("系别: ");

//========右侧信息填写栏

idTxt = new JTextField();

nameTxt = new JTextField();

sexTxt = new JTextField();

ageTxt = new JTextField();

jgTxt = new JTextField();

deptTxt = new JTextField();

//========添加和取消按钮

addBtn = new JButton("添加");

cancelBtn = new JButton("取消");

//......添加监听

addBtn.addActionListener(this);

addBtn.setActionCommand("add");

cancelBtn.addActionListener(this);

cancelBtn.setActionCommand("cancel");

//========创建布局

//......创建左边栏

left = new JPanel();

left.setLayout(new GridLayout(6, 1));

left.add(idLab); left.add(nameLab);

left.add(sexLab); left.add(ageLab);

left.add(jgLab); left.add(deptLab);

//......创建右边栏

center = new JPanel();

center.setLayout(new GridLayout(6, 1));

center.add(idTxt); center.add(nameTxt);

center.add(sexTxt); center.add(ageTxt);

center.add(jgTxt); center.add(deptTxt);

//========底层添加和取消按钮

bottom = new JPanel();

bottom.add(addBtn);

bottom.add(cancelBtn);

//========整体布局

this.add(left,BorderLayout.WEST);

this.add(center,BorderLayout.CENTER);

this.add(bottom,BorderLayout.SOUTH);

//========设置窗口属性


this.setSize(300, 250);

this.setResizable(false);

this.setVisible(true);

}


@Override

public void actionPerformed(ActionEvent e)

{

// TODO Auto-generated method stub

if(e.getActionCommand().equals("add")) {

/***********************添加学生信息**************************/

StuModel tmp = new StuModel();

String sql = "insert into stu values(?,?,?,?,?,?)";

String []paras = {idTxt.getText(),nameTxt.getText(),sexTxt.getText(),

ageTxt.getText(),jgTxt.getText(),deptTxt.getText()};

if(!tmp.cudStu(sql, paras))

JOptionPane.showMessageDialog(this, "添加学生信息失败");

//========关闭窗口

this.dispose();

} else if(e.getActionCommand().equals("cancel")) {

//========关闭窗口

this.dispose();

}

}

}



复制代码

4、StuUpdateDialog类(修改学生信息子界面)


package com.sms3;


import java.awt.BorderLayout;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.JButton;

import javax.swing.JDialog;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.table.AbstractTableModel;


public class StuUpdateDialog extends JDialog implements ActionListener{

//=========面板控件

//......左侧标题栏

private JLabel idLab,nameLab,sexLab,ageLab,jgLab,deptLab;

//......右侧信息选择填写栏

private JTextField idTxt,nameTxt,sexTxt,ageTxt,jgTxt,deptTxt;

//......添加和取消按钮

private JButton addBtn,cancelBtn;

//......布局控件

private JPanel left,center,bottom;


//构造函数

public StuUpdateDialog(Frame owner, String title, boolean modal, StuModel sm, int rowNum)

{

//========重写父类方法

super(owner, title, modal);

//========左侧标签栏

idLab = new JLabel("学号: ");

nameLab = new JLabel("姓名: ");

sexLab = new JLabel("性别: ");

ageLab = new JLabel("年龄: ");

jgLab = new JLabel("籍贯: ");

deptLab = new JLabel("系别: ");

//========右侧信息填写栏

idTxt = new JTextField();

idTxt.setText((String)sm.getValueAt(rowNum, 0));

idTxt.setEditable(false);

nameTxt = new JTextField();

nameTxt.setText((String)sm.getValueAt(rowNum, 1));

sexTxt = new JTextField();

sexTxt.setText((String)sm.getValueAt(rowNum, 2));

ageTxt = new JTextField();

ageTxt.setText((String)sm.getValueAt(rowNum, 3));

jgTxt = new JTextField();

jgTxt.setText((String)sm.getValueAt(rowNum, 4));

deptTxt = new JTextField();

deptTxt.setText((String)sm.getValueAt(rowNum, 5));

//========添加和取消按钮

addBtn = new JButton("修改");

cancelBtn = new JButton("取消");

//......添加监听

addBtn.addActionListener(this);

addBtn.setActionCommand("update");

cancelBtn.addActionListener(this);

cancelBtn.setActionCommand("cancel");

//========创建布局

//......创建左边栏

left = new JPanel();

left.setLayout(new GridLayout(6, 1));

left.add(idLab); left.add(nameLab);

left.add(sexLab); left.add(ageLab);

left.add(jgLab); left.add(deptLab);

//......创建右边栏

center = new JPanel();

center.setLayout(new GridLayout(6, 1));

center.add(idTxt); center.add(nameTxt);

center.add(sexTxt); center.add(ageTxt);

center.add(jgTxt); center.add(deptTxt);

//========底层添加和取消按钮

bottom = new JPanel();

bottom.add(addBtn);

bottom.add(cancelBtn);

//========整体布局

this.add(left,BorderLayout.WEST);

this.add(center,BorderLayout.CENTER);

this.add(bottom,BorderLayout.SOUTH);

//========设置窗口属性


this.setSize(300, 250);

this.setResizable(false);

this.setVisible(true);

}


@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(e.getActionCommand().equals("update")) {

/***********************修改学生信息**************************/

StuModel tmp = new StuModel();

String sql = "update stu set stuName=?,stuSex=?,stuAge=?,stuJg=?,stuDept=? where stuId=?";

String []paras = {nameTxt.getText(),sexTxt.getText(),ageTxt.getText(),

jgTxt.getText(),deptTxt.getText(),idTxt.getText()};

if(!tmp.cudStu(sql, paras))

JOptionPane.showMessageDialog(this, "修改学生信息失败");

//========关闭窗口

this.dispose();

} else if(e.getActionCommand().equals("cancel")) {

//========关闭窗口

this.dispose();

}

}

}



复制代码

5、SqlHelper类(最底层数据库类)


package com.sms3;


import java.sql.*;


public class SqlHelper {

//========数据库

private Connection ct = null;

private PreparedStatement ps = null;

private ResultSet rs = null;

private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

private String url = "jdbc:sqlserver://127.0.0.1:1433;database=studentMan";

private String user = "sa";

private String passwd = "****";


//========查询

public ResultSet queryExecute(String sql, String []paras)

{

try {

//========1、加载驱动

Class.forName(driver);

//========2、连接

ct = DriverManager.getConnection(url, user, passwd);

//========3、创建PreparedStatement

ps = ct.prepareStatement(sql);

//========4、给问号赋值

if(paras != null) {

for(int i = 0; i < paras.length; i++) {

ps.setString(i + 1, paras[i]);

}

}

//========5、执行

rs = ps.executeQuery();

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

} finally {

//this.close();

}

//========返回值

return rs;

}


//========增删改

public boolean cudExecute(String sql, String []paras)

{

boolean b = true;

try {

//========1、加载驱动

Class.forName(driver);

//========2、连接

ct = DriverManager.getConnection(url, user, passwd);

//========3、创建PreparedStatement

ps = ct.prepareStatement(sql);

//========4、给问号赋值

for(int i = 0; i < paras.length; i++) {

ps.setString(i + 1, paras[i]);

}

//========5、执行

if(ps.executeUpdate() != 1) b = false;

} catch (Exception e) {

// TODO: handle exception

b = false;

e.printStackTrace();

} finally {

this.close();

}

//========返回值

return b;

}


//========关闭资源

public void close()

{

try {

if(rs!=null) rs.close();

if(ps!=null) ps.close();

if(ct!=null) ct.close();

} catch (Exception e2) {

// TODO: handle exception

e2.printStackTrace();

}

}


}


复制代码

主界面


添加学生信息界面


修改学生信息界面

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @职坐标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论
本文作者 联系TA

擅长针对企业软件开发的产品设计及开发的细节与流程设计课程内容。座右铭:大道至简!

  • 370
    文章
  • 23072
    人气
  • 87%
    受欢迎度

已有23人表明态度,87%喜欢该老师!

进入TA的空间
求职秘籍 直通车
  • 索取资料 索取资料 索取资料
  • 答疑解惑 答疑解惑 答疑解惑
  • 技术交流 技术交流 技术交流
  • 职业测评 职业测评 职业测评
  • 面试技巧 面试技巧 面试技巧
  • 高薪秘笈 高薪秘笈 高薪秘笈
TA的其他文章 更多>>
WEB前端必须会的基本知识题目
经验技巧 93% 的用户喜欢
Java语言中四种遍历List的方法总结(推荐)
经验技巧 91% 的用户喜欢
Java语言之SHA-256加密的两种实现方法详解
经验技巧 75% 的用户喜欢
java语言实现把两个有序数组合并到一个数组的实例
经验技巧 75% 的用户喜欢
通过Java语言代码来创建view的方法
经验技巧 80% 的用户喜欢
其他海同师资 更多>>
吕益平
吕益平 联系TA
熟悉企业软件开发的产品设计及开发
孔庆琦
孔庆琦 联系TA
对MVC模式和三层架构有深入的研究
周鸣君
周鸣君 联系TA
擅长Hadoop/Spark大数据技术
范佺菁
范佺菁 联系TA
擅长Java语言,只有合理的安排和管理时间你才能做得更多,行得更远!
金延鑫
金延鑫 联系TA
擅长与学生或家长及时有效沟通
经验技巧30天热搜词 更多>>

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程