java创建学生信息注册_创建一个简单的学生信息管理系统

package business;

import java.util.Vector;

import table.LqGroup;

public interface GroupManage {

/**

* 实现添加小组的功能

* @return

*/

public boolean addGroupImpl(LqGroup lqgroup);

/**

*实现删除小组的功能

*/

public boolean delGroupImpl(LqGroup lqgroup);

/**

* 实现更新小组信息的功能

*/

public boolean updGroupImpl(LqGroup lqgroup);

/**

* 实现查询小组信息的功能

*/

public Vector serchGroupImpl(LqGroup lqgroup);

}

package business;

import table.Admin;

public interface LoginManage {

/**

* 主要用于检查用户输入的用户名和密码是否正确

*/

public boolean checkUser(Admin admin);

}

package business;

import java.util.Vector;

import table.Student;

/**

* 用于添加学生信息的传值

* @author Administrator

*/

public interface StuManage {

/**

* 实现添加学生的功能

*/

public boolean AddStuImpl(Student student);

/**

* 实现删除学生的功能

*/

public boolean DelStuImpl(Student student);

/**

* 实现更新学生信息的功能

*/

public boolean UpdateStuImpl(Student student);

/**

* 实现查询学生信息的功能

*/

public Vector SerchStuImpl(Student student);

}

package business.businessImpl;

import java.util.Vector;

import business.GroupManage;

import jdbcDao.jdbcDaoImpl.Group_OperationImpl;

import table.LqGroup;

public class GroupManageImpl implements GroupManage {

@Override

public boolean addGroupImpl(LqGroup lqgroup) {

boolean ab = new Group_OperationImpl().addGroup(lqgroup);

if(ab) return true;

else return false;

}

@Override

public boolean delGroupImpl(LqGroup lqgroup) {

boolean db = new Group_OperationImpl().delGroup(lqgroup);

if(db) return true;

else return false;

}

@Override

public boolean updGroupImpl(LqGroup lqgroup) {

boolean ub = new Group_OperationImpl().updGroup(lqgroup);

if(ub) return true;

else return false;

}

public Vector serchGroupImpl(LqGroup lqgroup) {

return new Group_OperationImpl().serchGroup(lqgroup);

}

}

package business.businessImpl;

import business.LoginManage;

import jdbcDao.jdbcDaoImpl.Login_OperationImpl;

import table.Admin;

public class LoginManageImpl implements LoginManage {

public boolean checkUser(Admin admin) {

//调用该方法来判断要用户输入的用户名和密码是够正确

Admin a = new Login_OperationImpl().login_conn(admin); //把从界面传来的admin对象传给dao处理

//如果返回null说明验证失败返回false,再返回给界面界面收到就会显示登陆失败

if(a == null) return false;

else return true;

}

}

package business.businessImpl;

import java.util.Vector;

import business.StuManage;

import jdbcDao.jdbcDaoImpl.Stu_OperationImpl;

import table.Admin;

import table.Student;

public class StuManageImpl implements StuManage {

public boolean AddStuImpl(Student student) {

boolean ab= new Stu_OperationImpl().addStu(student);//调用dao类获取返回的一个对象

if(ab==false) return false;

else return true;

}

@Override

public boolean DelStuImpl(Student student) {

boolean db = new Stu_OperationImpl().delStu(student);

if(db==false) return false;

else return true;

}

public boolean UpdateStuImpl(Student student) {

boolean ub = new Stu_OperationImpl().updStu(student);

if(ub==false) return false;

else return true;

}

@Override

public Vector SerchStuImpl(Student student) {

return new Stu_OperationImpl().serchStu(student);

}

}

package frame;

import javax.swing.JPanel;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import javax.swing.JButton;

import javax.swing.JTextField;

import javax.swing.JTextArea;

import javax.swing.JTable;

import javax.swing.border.TitledBorder;

import business.businessImpl.GroupManageImpl;

import myUtil.StringUtil;

import table.LqGroup;

import javax.swing.UIManager;

import java.awt.Color;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

public class AddGroupView extends JPanel {

private JTextField textField;

private JTextField textField_1;

private JTable addGroupTable;

/**

* Create the panel.

*/

public AddGroupView() {

setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "添加分组信息", TitledBorder.LEADING, TitledBorder.TOP, null, Color.BLACK));

setLayout(null);

JLabel lblNewLabel_1 = new JLabel("");

lblNewLabel_1.setBounds(20, 73, 54, 15);

add(lblNewLabel_1);

JLabel lblNewLabel_2 = new JLabel("添加分组ID:");

lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_2.setBounds(103, 48, 86, 22);

add(lblNewLabel_2);

textField = new JTextField();

textField.setBounds(215, 49, 266, 21);

add(textField);

textField.setColumns(10);

JLabel lblNewLabel_3 = new JLabel("添加分组名字:");

lblNewLabel_3.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_3.setBounds(103, 101, 98, 20);

add(lblNewLabel_3);

textField_1 = new JTextField();

textField_1.setBounds(215, 101, 266, 21);

add(textField_1);

textField_1.setColumns(10);

JLabel lblNewLabel_4 = new JLabel("添加分组简介:");

lblNewLabel_4.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_4.setBounds(105, 146, 124, 22);

add(lblNewLabel_4);

final JTextArea textArea = new JTextArea();

textArea.setBounds(176, 178, 307, 84);

add(textArea);

JButton addGroupButton = new JButton("确定添加");

addGroupButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String gID = textField.getText();

String gName = textField_1.getText();

String gDesc = textArea.getText();

if(StringUtil.isEmpty(gID)){

JOptionPane.showMessageDialog(null, "小组编号不能为空!!");

return;

}

if(StringUtil.isEmpty(gName)){

JOptionPane.showMessageDialog(null, "小组名称不能为空!!");

return;

}

LqGroup lqgroup = new LqGroup(Integer.parseInt(gID),gName,gDesc);

boolean ab = new GroupManageImpl().addGroupImpl(lqgroup);

if(ab){

JOptionPane.showMessageDialog(null, "恭喜你,添加第"+gID+"组成功!");

textField.setText("");

textField_1.setText("");

textArea.setText("");

}

else{

JOptionPane.showMessageDialog(null, "sorry,添加第"+gID+"组失败!");

}

}

});

addGroupButton.setFont(new Font("宋体", Font.PLAIN, 14));

addGroupButton.setBounds(188, 284, 93, 40);

add(addGroupButton);

JButton resetbutton = new JButton("取消添加");

resetbutton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

textField.setText("");

textField_1.setText("");

textArea.setText("");

}

});

resetbutton.setFont(new Font("宋体", Font.PLAIN, 14));

resetbutton.setBounds(388, 284, 93, 40);

add(resetbutton);

}

}

package frame;

import java.awt.Font;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import business.businessImpl.GroupManageImpl;

import business.businessImpl.StuManageImpl;

import jdbcDao.jdbcDaoImpl.Group_OperationImpl;

import myUtil.StringUtil;

import table.LqGroup;

import table.Student;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.JRadioButton;

import javax.swing.JRadioButtonMenuItem;

import javax.swing.JFormattedTextField;

import javax.swing.JComboBox;

import javax.swing.DefaultComboBoxModel;

import javax.swing.border.TitledBorder;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import javax.swing.ButtonGroup;

import javax.swing.ComboBoxModel;

public class AddStuView extends JPanel {

private JPanel addStu_panel;

private JTextField textField;

private JTextField textField_1;

private JTextField textField_3;

private final ButtonGroup buttonGroup = new ButtonGroup();

private final JComboBox comboBox = new JComboBox();

//------------------------填充下拉菜单的方法-------------------------------

private void fillComboBox(){

Vector vec = new GroupManageImpl().serchGroupImpl(new LqGroup()); //获取查询分组的结果

for(int i=0;i

Vector v = (Vector)vec.get(i);

int gID = (int) v.get(0); //获取第一条记录

String gName = (String) v.get(1);

String gDesc = (String) v.get(2);

LqGroup lqgroup = new LqGroup(gID,gName,gDesc); //将查询到的信息封装

comboBox.addItem(lqgroup);

}

}

public AddStuView(){

setBorder(new TitledBorder(null, "\u6DFB\u52A0\u5B66\u751F\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel addStuID_Label = new JLabel("学生学号:");

addStuID_Label.setFont(new Font("宋体", Font.PLAIN, 14));

addStuID_Label.setBounds(150, 62, 93, 21);

add(addStuID_Label);

JLabel addStuName_Label = new JLabel("学生姓名:");

addStuName_Label.setFont(new Font("宋体", Font.PLAIN, 14));

addStuName_Label.setBounds(150, 93, 93, 30);

add(addStuName_Label);

textField = new JTextField();

textField.setBounds(274, 62, 224, 21);

add(textField);

textField.setColumns(10);

textField_1 = new JTextField();

textField_1.setBounds(274, 98, 224, 21);

add(textField_1);

textField_1.setColumns(10);

JLabel lblNewLabel = new JLabel("学生性别:");

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel.setBounds(150, 135, 93, 31);

add(lblNewLabel);

JLabel lblNewLabel_1 = new JLabel("学生年龄:");

lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_1.setBounds(150, 176, 71, 30);

add(lblNewLabel_1);

textField_3 = new JTextField();

textField_3.setBounds(274, 176, 224, 21);

add(textField_3);

textField_3.setColumns(10);

JLabel lblNewLabel_2 = new JLabel("学生所属组:");

lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_2.setBounds(150, 219, 93, 15);

add(lblNewLabel_2);

final JRadioButton boy_Button = new JRadioButton("男");

buttonGroup.add(boy_Button); //一定要记住把男女单选按钮添加到同一个按钮组中去

boy_Button.setSelected(true);

boy_Button.setFont(new Font("宋体", Font.PLAIN, 14));

boy_Button.setBounds(315, 133, 78, 35);

add(boy_Button);

JRadioButton girl_Button = new JRadioButton("女");

buttonGroup.add(girl_Button);

girl_Button.setFont(new Font("宋体", Font.PLAIN, 14));

girl_Button.setBounds(395, 133, 78, 35);

add(girl_Button);

//comboBox.setModel(new DefaultComboBoxModel(new String[] {"请选择以下分组..."}));

comboBox.setBounds(274, 216, 229, 21);

add(comboBox);

JButton sureAdd_Button = new JButton("确认添加");

sureAdd_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

//fillComboBox(lqgroup);

String addStuID = textField.getText();

String addStuName = textField_1.getText();

LqGroup selectedGroup = (LqGroup) comboBox.getSelectedItem(); //获取下拉框中的值并封装到selectedGroup中去

int addStuGroup =selectedGroup.getgID();

//String addstuGroup =selectedGroup.getgName();

String addStuSex = boy_Button.isSelected()?"男":"女"; //获取单选按钮选择的选项

int addStuAge = Integer.parseInt(textField_3.getText());

if(StringUtil.isEmpty(addStuID)){

JOptionPane.showMessageDialog(null, "学生ID不能为空!!");

return;

}

if(!(StringUtil.isNotEmpty(addStuName))){

JOptionPane.showMessageDialog(null, "学生姓名不能为空!!");

return;

}

if(comboBox.getSelectedIndex()==0){

JOptionPane.showMessageDialog(null , "该选项无效,请选择下列具体分组!");

return;

}

//将从界面获取的学生ID和学生姓名封装到学生类的对象中

Student student = new Student(Integer.parseInt(addStuID),addStuName,addStuSex,addStuAge,addStuGroup);

boolean b = new StuManageImpl().AddStuImpl(student); //调用StuManageImpl方法判断是否添加成功

if(b==true){

JOptionPane.showMessageDialog(null , "恭喜你,添加学生"+addStuName+"成功!");

}

else{

JOptionPane.showMessageDialog(null , "sorry,添加学生"+addStuName+"失败!");

}

}

});

sureAdd_Button.setFont(new Font("宋体", Font.PLAIN, 14));

sureAdd_Button.setBounds(208, 268, 93, 39);

add(sureAdd_Button);

JButton addback_Button = new JButton("撤销添加");

addback_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

textField.setText("");

textField_1.setText("");

textField_3.setText("");

boy_Button.setSelected(true); //默认选中男

comboBox.setSelectedIndex(0);

}

});

addback_Button.setFont(new Font("宋体", Font.PLAIN, 14));

addback_Button.setBounds(380, 268, 93, 39);

add(addback_Button);

//-------------调用方法填充下拉菜单-----------------------------

comboBox.addItem(new LqGroup(-1,"请选择......",null));

this.fillComboBox();

}

}

package frame;

import javax.swing.JPanel;

import javax.swing.border.TitledBorder;

import business.businessImpl.GroupManageImpl;

import jdbcDao.jdbcDaoImpl.Group_OperationImpl;

import table.LqGroup;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import javax.swing.JTextField;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.JTextArea;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

public class DelGroupView extends JPanel {

private JTextField textField;

private JTable table;

LqGroup lqgroup = new LqGroup();

public void fillTable(LqGroup lqgroup){

DefaultTableModel dtm = (DefaultTableModel) table.getModel();

Vector vec = new GroupManageImpl().serchGroupImpl(lqgroup);

dtm.setRowCount(0); //每次显示查询结果之前把之前显示的数据清空

for(int i=0;i

dtm.addRow((Vector) vec.get(i));

}

}

public DelGroupView() {

setBorder(new TitledBorder(null, "\u5220\u9664\u5206\u7EC4\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel lblNewLabel = new JLabel("小组名称:");

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel.setBounds(87, 50, 91, 25);

add(lblNewLabel);

textField = new JTextField();

textField.setBounds(180, 52, 238, 21);

add(textField);

textField.setColumns(10);

JButton delGroupButton = new JButton("确定删除");

delGroupButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String gName = textField.getText();

LqGroup lqgroup = new LqGroup();

lqgroup.setgName(gName); //封装到LqGroup类中

boolean db = new GroupManageImpl().delGroupImpl(lqgroup);

if(db==true){

JOptionPane.showMessageDialog(null,"恭喜你,删除"+gName+"成功!");

}

else{

JOptionPane.showMessageDialog(null,"sorry,删除"+gName+"失败!");

}

}

});

delGroupButton.setFont(new Font("宋体", Font.PLAIN, 14));

delGroupButton.setBounds(161, 292, 93, 40);

add(delGroupButton);

JButton resetbutton = new JButton("取消删除");

resetbutton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textField.setText("");

}

});

resetbutton.setFont(new Font("宋体", Font.PLAIN, 14));

resetbutton.setBounds(325, 292, 93, 40);

add(resetbutton);

JScrollPane scrollPane = new JScrollPane();

scrollPane.setBounds(97, 85, 371, 207);

add(scrollPane);

table = new JTable();

table.addMouseListener(new MouseAdapter() {

@Override

public void mousePressed(MouseEvent arg0) {

int row = table.getSelectedRow(); //得到你选中的行

textField.setText(table.getValueAt(row, 1)+""); //得到指定行的第二列,并将其放到文本框中(下标从0开始)

}

});

table.setModel(new DefaultTableModel(

new Object[][] {

},

new String[] {

"组号", "组名", "小组简介"

}

) {

boolean[] columnEditables = new boolean[] {

false, true, true

};

public boolean isCellEditable(int row, int column) {

return columnEditables[column];

}

});

table.getColumnModel().getColumn(0).setResizable(false);

scrollPane.setViewportView(table);

this.fillTable(lqgroup);

}

}

package frame;

import java.awt.Font;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import business.businessImpl.GroupManageImpl;

import business.businessImpl.StuManageImpl;

import table.LqGroup;

import table.Student;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.border.TitledBorder;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

public class DelStuView extends JPanel {

/*private JTextField delStuID_textField;*/

public JPanel delStu_panel;

private JTextField del_textField;

private JTable table;

//----------------------填充表格-------------------------

public void fillTable(){

DefaultTableModel dtm = (DefaultTableModel) table.getModel(); //获取表模型

Vector vec =new StuManageImpl().SerchStuImpl(new Student()); //获取组查询到的所有值

dtm.setRowCount(0); //每次调用前清空前面查询的结果

for(int i=0;i

dtm.addRow((Vector) vec.get(i)); //将遍历得到的查询结果添加到模型中

}

}

public DelStuView(){

setBorder(new TitledBorder(null, "\u5220\u9664\u5B66\u751F\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel delStuID_lebel = new JLabel("请输入您要删除学生的ID:");

delStuID_lebel.setFont(new Font("宋体", Font.PLAIN, 14));

delStuID_lebel.setBounds(37, 48, 168, 15);

add(delStuID_lebel);

del_textField = new JTextField();

del_textField.setBounds(206, 45, 261, 21);

add(del_textField);

del_textField.setColumns(10);

JButton del_Button = new JButton("确定删除");

del_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String delText =del_textField.getText();

Student student = new Student();

student.setStuName(delText);

boolean db = new StuManageImpl().DelStuImpl(student);

if(db==true){JOptionPane.showMessageDialog(null, "恭喜你,删除学生"+delText+"成功!");

fillTable(); //当删除成功后更新表格信息

}

else JOptionPane.showMessageDialog(null, "sorry,你要删除的学生"+delText+"不存在!");

}

});

del_Button.setFont(new Font("宋体", Font.PLAIN, 14));

del_Button.setBounds(155, 268, 93, 36);

add(del_Button);

JButton delBack_Button = new JButton("撤销删除");

delBack_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

del_textField.setText("");

}

});

delBack_Button.setFont(new Font("宋体", Font.PLAIN, 14));

delBack_Button.setBounds(315, 268, 93, 36);

add(delBack_Button);

JScrollPane scrollPane = new JScrollPane();

scrollPane.setBounds(110, 92, 357, 166);

add(scrollPane);

table = new JTable();

table.addMouseListener(new MouseAdapter() {

//-------------------设置鼠标监听事件,当鼠标暗中一条记录时的操作-----------------

public void mousePressed(MouseEvent arg0) {

int row = table.getSelectedRow(); //获取你选中的行

del_textField.setText(table.getValueAt(row, 1)+""); //把选中的行分组记录的名字添加到删除文本框中

}

});

table.setModel(new DefaultTableModel(

new Object[][] {

},

new String[] {

"\u5B66\u53F7", "\u59D3\u540D", "\u6027\u522B", "\u5E74\u9F84", "\u6240\u5C5E\u7EC4"

}

));

scrollPane.setViewportView(table);

this.fillTable();

}

}

package frame;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JInternalFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.border.TitledBorder;

import java.awt.Toolkit;

import javax.swing.border.BevelBorder;

import javax.swing.border.EtchedBorder;

import javax.swing.border.LineBorder;

import java.awt.Color;

import javax.swing.border.SoftBevelBorder;

import javax.swing.border.CompoundBorder;

import javax.swing.JButton;

import java.awt.Font;

import java.awt.CardLayout;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.ImageIcon;

public class GroupManageView extends JInternalFrame{

CardLayout cd ;

JPanel panel_group;

public GroupManageView() {

setFrameIcon(new ImageIcon("images\\groupManage.png"));

setTitle("学生分组信息管理");

setIconifiable(true);

setMaximizable(true);

setResizable(true);

setClosable(true);

getContentPane().setLayout(null);

panel_group = new JPanel();

cd = new CardLayout();

panel_group.setBounds(0, 0, 780, 338);

getContentPane().add(panel_group);

panel_group.setLayout(cd);

AddGroupView addGroup = new AddGroupView();

DelGroupView delGroup = new DelGroupView();

UpdateGroupView updGroup = new UpdateGroupView();

SearchGroupView serchGroup = new SearchGroupView();

panel_group.add(addGroup,"addGroup");

panel_group.add(delGroup,"delGroup");

panel_group.add(updGroup,"updGroup");

panel_group.add(serchGroup,"serchGroup");

JPanel panel_button = new JPanel();

panel_button.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));

panel_button.setBounds(0, 348, 780, 90);

getContentPane().add(panel_button);

panel_button.setLayout(null);

JButton addGroup_Button = new JButton("添加分组信息");

addGroup_Button.setIcon(new ImageIcon("images\\add.png"));

addGroup_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

cd.show(panel_group,"addGroup");

}

});

addGroup_Button.setFont(new Font("宋体", Font.PLAIN, 14));

addGroup_Button.setBounds(59, 26, 140, 34);

panel_button.add(addGroup_Button);

JButton delGroup_button = new JButton("删除分组信息");

delGroup_button.setIcon(new ImageIcon("images\\delete.png"));

delGroup_button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

cd.show(panel_group,"delGroup");

}

});

delGroup_button.setFont(new Font("宋体", Font.PLAIN, 14));

delGroup_button.setBounds(235, 26, 143, 34);

panel_button.add(delGroup_button);

JButton updGroup_button = new JButton("更新分组信息");

updGroup_button.setIcon(new ImageIcon("images\\reset.png"));

updGroup_button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

cd.show(panel_group,"updGroup");

}

});

updGroup_button.setFont(new Font("宋体", Font.PLAIN, 14));

updGroup_button.setBounds(411, 26, 136, 34);

panel_button.add(updGroup_button);

JButton SearchGroup_button = new JButton("查询分组信息");

SearchGroup_button.setIcon(new ImageIcon("images\\search.png"));

SearchGroup_button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

cd.show(panel_group,"serchGroup");

}

});

SearchGroup_button.setFont(new Font("宋体", Font.PLAIN, 14));

SearchGroup_button.setBounds(576, 26, 140, 34);

panel_button.add(SearchGroup_button);

setSize(823,467);

setVisible(true);

}

}

package frame;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import business.businessImpl.LoginManageImpl;

import jdbcDao.Login_Operation;

import table.Admin;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.awt.event.ActionEvent;

import javax.swing.JTextField;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import java.awt.Toolkit;

import javax.swing.ImageIcon;

import java.awt.Color;

import javax.swing.JPasswordField;

public class LoginFrame extends JFrame {

private JPanel contentPane;

private JTextField textField;

static Connection conn = null;

static PreparedStatement pres = null;

String aName = null;

String aPwd = null;

Login_Operation login;

private JPasswordField passwordField;

//-------------------------------判断登陆条件----------------------------------

public void login(){

aName = textField.getText(); //获取用户输入的用户名和密码

aPwd = passwordField.getText();

Admin admin = new Admin(aName,aPwd); //调用Admin的构造方法,封装用户名和密码

boolean b = new LoginManageImpl().checkUser(admin); //调用业务类中的checkuser方法判断用户输入的是否正确

if(b){JOptionPane.showMessageDialog(null, "恭喜你,登陆成功");

new MainFrameView(); //如果验证成功则跳转到主界面

}

else JOptionPane.showMessageDialog(null, "对不起,你的用户名或密码错误,登陆失败!");

}

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {

public void run() {

try {

LoginFrame frame = new LoginFrame();

frame.setVisible(true);

} catch (Exception e) {

e.printStackTrace();

}

}

});

}

/**

* Create the frame.

*/

public LoginFrame() {

setIconImage(Toolkit.getDefaultToolkit().getImage("images/student.png"));

setTitle("欢迎来到学生信息管理系统");

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(400, 100, 380, 295);

contentPane = new JPanel();

contentPane.setBackground(new Color(175, 238, 238));

contentPane.setBorder(new EmptyBorder(7, 7, 7, 7));

setContentPane(contentPane);

contentPane.setLayout(null);

JButton btnNewButton = new JButton("\u64A4\u9500");

btnNewButton.setIcon(new ImageIcon("images/reset.png"));

btnNewButton.setFont(new Font("����", Font.PLAIN, 14));

btnNewButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textField.setText("");

passwordField.setText("");

}

});

btnNewButton.setBounds(221, 188, 99, 36);

contentPane.add(btnNewButton);

JButton button = new JButton("\u767B\u5F55");

button.setIcon(new ImageIcon("images/login.png"));

button.setFont(new Font("����", Font.PLAIN, 14));

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

dispose();

login();

}

});

button.setBounds(68, 188, 104, 36);

contentPane.add(button);

textField = new JTextField();

textField.setBounds(177, 68, 143, 29);

contentPane.add(textField);

textField.setColumns(10);

JLabel lblNewLabel = new JLabel("用户姓名:");

lblNewLabel.setIcon(new ImageIcon("images/userName.png"));

lblNewLabel.setFont(new Font("����", Font.PLAIN, 14));

lblNewLabel.setBounds(64, 68, 93, 29);

contentPane.add(lblNewLabel);

JLabel label = new JLabel("用户密码:");

label.setIcon(new ImageIcon("images/password.png"));

label.setFont(new Font("����", Font.PLAIN, 14));

label.setBounds(64, 125, 93, 29);

contentPane.add(label);

passwordField = new JPasswordField();

passwordField.setBounds(177, 121, 143, 29);

contentPane.add(passwordField);

}

}

package frame;

import java.awt.BorderLayout;

import java.awt.EventQueue;

import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.border.EmptyBorder;

import javax.swing.JMenuBar;

import javax.swing.JMenu;

import java.awt.Font;

import javax.swing.JDesktopPane;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.JMenuItem;

import javax.swing.ImageIcon;

public class MainFrameView extends JFrame {

private JPanel contentPane;

final JDesktopPane desktopPane = new JDesktopPane();

/**

* Create the frame.

*/

public MainFrameView() {

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setBounds(100, 100, 838, 521);

contentPane = new JPanel();

contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

setContentPane(contentPane);

contentPane.setLayout(null);

JMenuBar menuBar = new JMenuBar();

menuBar.setBounds(0, 0, 822, 32);

contentPane.add(menuBar);

JMenu menuGroup = new JMenu("分组管理");

JMenu menuStu = new JMenu("学生管理");

//------------------menuItemGroup-----------------------------------

menuGroup.setFont(new Font("微软雅黑", Font.PLAIN, 14));

menuBar.add(menuGroup);

menuBar.add(menuStu);

JMenuItem menuItemGroup = new JMenuItem("分组信息管理");

menuItemGroup.setIcon(new ImageIcon("images/studentManage.png"));

menuItemGroup.setFont(new Font("微软雅黑", Font.PLAIN, 14));

menuItemGroup.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

GroupManageView gmv = new GroupManageView();

gmv.setVisible(true);

desktopPane.add(gmv);

}

});

menuGroup.add(menuItemGroup);

//------------------menuItemStu--------------------------

menuStu.setFont(new Font("微软雅黑", Font.PLAIN, 14));

JMenuItem menuItemStu = new JMenuItem("学生信息管理");

menuItemStu.setIcon(new ImageIcon("images/userName.png"));

menuItemStu.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

StuManageView smv = new StuManageView();

smv.setVisible(true);

desktopPane.add(smv);

}

});

menuStu.add(menuItemStu);

//----------------desktopPane---------------------------------------------

desktopPane.setBounds(0, 30, 822, 449);

contentPane.add(desktopPane);

}

}

/*

* SearchGroup.java

*

* Created on __DATE__, __TIME__

*/

package frame;

import javax.swing.JLabel;

import java.awt.Font;

import javax.swing.JTextField;

import business.businessImpl.GroupManageImpl;

import business.businessImpl.StuManageImpl;

import table.LqGroup;

import table.Student;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

/**

*

* @author __USER__

*/

public class SearchGroupView extends javax.swing.JPanel {

private JTextField textField;

private JTable table;

/** Creates new form SearchGroup */

public SearchGroupView() {

initComponents();

}

//----------------------填充表格的方法---------------------------------

public void fillTable(LqGroup lqgroup){

DefaultTableModel dtm = (DefaultTableModel) table.getModel();

Vector v = new GroupManageImpl().serchGroupImpl(lqgroup); //控制空指针异常

dtm.setRowCount(0); //每次显示查询结果之前把之前显示的数据清空

for(int i=0;i

dtm.addRow((Vector) v.get(i));

}

}

private void initComponents() {

setBorder(javax.swing.BorderFactory

.createTitledBorder(javax.swing.BorderFactory

.createTitledBorder("\u67e5\u8be2\u5206\u7ec4\u4fe1\u606f")));

setLayout(null);

JLabel lblNewLabel = new JLabel("查询的小组名称:");

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel.setBounds(62, 55, 131, 15);

add(lblNewLabel);

textField = new JTextField();

textField.setBounds(203, 52, 320, 21);

add(textField);

textField.setColumns(10);

JButton btnNewButton = new JButton("开始查询");

btnNewButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String serchGroupName = textField.getText();

LqGroup lqgroup = new LqGroup(); //将输入的信息封装到group类中

lqgroup.setgName(serchGroupName);

fillTable(lqgroup); //调用fillTable()方法将查询到的内容填充到表格中

}

});

btnNewButton.setFont(new Font("宋体", Font.PLAIN, 14));

btnNewButton.setBounds(180, 298, 93, 34);

add(btnNewButton);

JButton button = new JButton("取消查询");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textField.setText("");

}

});

button.setFont(new Font("宋体", Font.PLAIN, 14));

button.setBounds(362, 298, 93, 34);

add(button);

JScrollPane scrollPane = new JScrollPane();

scrollPane.setBounds(96, 122, 427, 166);

add(scrollPane);

table = new JTable();

table.addMouseListener(new MouseAdapter() {

@Override

public void mousePressed(MouseEvent arg0) {

int row = table.getSelectedRow();

textField.setText(table.getValueAt(row, 1)+"");

}

});

table.setModel(new DefaultTableModel(

new Object[][] {

},

new String[] {

"\u7EC4\u53F7", "\u7EC4\u540D", "\u5C0F\u7EC4\u7B80\u4ECB"

}

));

scrollPane.setViewportView(table);

JLabel lblNewLabel_1 = new JLabel("查询结果显示如下:");

lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_1.setBounds(63, 97, 130, 15);

add(lblNewLabel_1);

}

}

package frame;

import java.awt.Font;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextArea;

import javax.swing.JTextField;

import table.Student;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.JTable;

import javax.swing.border.TitledBorder;

import javax.swing.JScrollPane;

import javax.swing.table.DefaultTableModel;

import business.businessImpl.StuManageImpl;

import jdbcDao.jdbcDaoImpl.Stu_OperationImpl;

public class SearchStuView extends JPanel {

/*private JTextField serchStu_textField;

private JPanel panel_select;*/

private JTextField textField;

private JTable table;

//---------------------填充表格的方法---------------------------------

public void fillTable(Student student){

DefaultTableModel dtm = (DefaultTableModel) table.getModel();

Vector v = new StuManageImpl().SerchStuImpl(student);

dtm.setRowCount(0);

for(int i=0;i

dtm.addRow((Vector) v.get(i));

}

}

public SearchStuView(){

setBorder(new TitledBorder(null, "\u67E5\u8BE2\u5B66\u751F\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel serchStuID_Label = new JLabel("请输入您要查询的学生姓名:");

serchStuID_Label.setFont(new Font("宋体", Font.PLAIN, 14));

serchStuID_Label.setBounds(10, 64, 182, 15);

add(serchStuID_Label);

textField = new JTextField();

textField.setBounds(202, 61, 168, 21);

add(textField);

textField.setColumns(10);

JLabel show_Label = new JLabel("您查询的学生信息如下:");

show_Label.setFont(new Font("宋体", Font.PLAIN, 14));

show_Label.setBounds(10, 147, 168, 15);

add(show_Label);

JButton submit_button = new JButton("查询");

submit_button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String serchStuName = textField.getText();

Student student = new Student();

student.setStuName(serchStuName); //封装

fillTable(student);

}

});

submit_button.setFont(new Font("宋体", Font.PLAIN, 14));

submit_button.setBounds(196, 103, 93, 34);

add(submit_button);

JButton return_button = new JButton("撤销");

return_button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

textField.setText("");

}

});

return_button.setFont(new Font("宋体", Font.PLAIN, 14));

return_button.setBounds(349, 103, 93, 34);

add(return_button);

JScrollPane scrollPane = new JScrollPane();

scrollPane.setBounds(85, 172, 485, 144);

add(scrollPane);

table = new JTable();

table.setModel(new DefaultTableModel(

new Object[][] {

},

new String[] {

"\u5B66\u53F7", "\u59D3\u540D", "\u6027\u522B", "\u5E74\u9F84", "\u6240\u5C5E\u7EC4"

}

));

scrollPane.setViewportView(table);

}

}

package frame;

import javax.swing.JInternalFrame;

import javax.swing.JTextField;

import javax.swing.JPanel;

import java.awt.CardLayout;

import javax.swing.JButton;

import java.awt.Font;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import javax.swing.border.SoftBevelBorder;

import javax.swing.border.BevelBorder;

import javax.swing.ImageIcon;

public class StuManageView extends JInternalFrame{

CardLayout cd ;

JPanel stu_panel;

public StuManageView() {

setFrameIcon(new ImageIcon("images\\userName.png"));

setTitle("学生信息管理");

setMaximizable(true);

setIconifiable(true);

setClosable(true);

getContentPane().setLayout(null);

stu_panel = new JPanel();

cd = new CardLayout();

stu_panel.setBounds(0, 0, 780, 338);

getContentPane().add(stu_panel);

stu_panel.setLayout(cd);

AddStuView addStu = new AddStuView();

DelStuView delStu = new DelStuView();

UpdateStuView updStu = new UpdateStuView();

SearchStuView serchStu = new SearchStuView();

stu_panel.add(addStu,"addStu");

stu_panel.add(delStu,"delStu");

stu_panel.add(updStu,"updStu");

stu_panel.add(serchStu,"serchStu");

JPanel panel_button = new JPanel();

panel_button.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));

panel_button.setBounds(0, 348, 780, 90);

getContentPane().add(panel_button);

panel_button.setLayout(null);

JButton addStuButton = new JButton("添加学生信息");

addStuButton.setIcon(new ImageIcon("images\\add.png"));

addStuButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

cd.show(stu_panel,"addStu");

}

});

addStuButton.setFont(new Font("宋体", Font.PLAIN, 14));

addStuButton.setBounds(59, 28, 155, 37);

panel_button.add(addStuButton);

JButton button = new JButton("删除学生信息");

button.setIcon(new ImageIcon("images\\delete.png"));

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

cd.show(stu_panel, "delStu");

}

});

button.setFont(new Font("宋体", Font.PLAIN, 14));

button.setBounds(246, 28, 137, 37);

panel_button.add(button);

JButton button_1 = new JButton("更改信息");

button_1.setIcon(new ImageIcon("images\\reset.png"));

button_1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

cd.show(stu_panel, "updStu");

}

});

button_1.setFont(new Font("宋体", Font.PLAIN, 14));

button_1.setBounds(418, 28, 146, 37);

panel_button.add(button_1);

JButton button_2 = new JButton("查询学生信息");

button_2.setIcon(new ImageIcon("images\\search.png"));

button_2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

cd.show(stu_panel, "serchStu");

}

});

button_2.setFont(new Font("宋体", Font.PLAIN, 14));

button_2.setBounds(597, 28, 137, 37);

panel_button.add(button_2);

setSize(827,467);

setVisible(true);

}

}

package frame;

import javax.swing.JPanel;

import javax.swing.border.TitledBorder;

import business.businessImpl.GroupManageImpl;

import table.LqGroup;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import java.awt.Font;

import javax.swing.JTextField;

import javax.swing.JTextArea;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

public class UpdateGroupView extends JPanel {

private JTextField textField;

private JTextField textField_1;

public UpdateGroupView() {

setBorder(new TitledBorder(null, "\u66F4\u65B0\u5206\u7EC4\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel lblNewLabel = new JLabel("将更新的分组编号:");

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel.setBounds(31, 52, 130, 15);

add(lblNewLabel);

textField = new JTextField();

textField.setBounds(164, 49, 346, 21);

add(textField);

textField.setColumns(10);

JLabel lblNewLabel_1 = new JLabel("New label");

lblNewLabel_1.setBounds(41, 112, 54, -20);

add(lblNewLabel_1);

JLabel lblNewLabel_2 = new JLabel("更改分组组名为:");

lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_2.setBounds(31, 90, 118, 15);

add(lblNewLabel_2);

textField_1 = new JTextField();

textField_1.setColumns(10);

textField_1.setBounds(164, 87, 346, 21);

add(textField_1);

JLabel lblNewLabel_3 = new JLabel("更改的分组简介:");

lblNewLabel_3.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_3.setBounds(31, 127, 112, 15);

add(lblNewLabel_3);

final JTextArea textArea = new JTextArea();

textArea.setBounds(164, 138, 346, 127);

add(textArea);

JButton btnNewButton = new JButton("确定更改");

btnNewButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

int gID = Integer.parseInt(textField.getText());

String gName = textField_1.getText();

String gDesc = textArea.getText();

LqGroup lqgroup = new LqGroup(gID,gName,gDesc); //将获取的值封装给LqGroup这个类

boolean ub = new GroupManageImpl().updGroupImpl(lqgroup);

if(ub==true){

JOptionPane.showMessageDialog(null, "恭喜你,更改第"+gID+"组的信息成功!");

}

else{

JOptionPane.showMessageDialog(null, "sorry,更改第"+gID+"组的信息失败!");

}

}

});

btnNewButton.setFont(new Font("宋体", Font.PLAIN, 14));

btnNewButton.setBounds(227, 301, 93, 37);

add(btnNewButton);

JButton button = new JButton("取消更改");

button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

textField.setText("");

textField_1.setText("");

textArea.setText("");

}

});

button.setFont(new Font("宋体", Font.PLAIN, 14));

button.setBounds(362, 301, 93, 37);

add(button);

}

}

package frame;

import java.awt.Font;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

import business.businessImpl.GroupManageImpl;

import business.businessImpl.StuManageImpl;

import myUtil.StringUtil;

import table.LqGroup;

import table.Student;

import java.awt.FlowLayout;

import javax.swing.JButton;

import java.awt.event.ActionListener;

import java.util.Vector;

import java.awt.event.ActionEvent;

import javax.swing.border.TitledBorder;

import javax.swing.JRadioButton;

import javax.swing.JComboBox;

import javax.swing.ButtonGroup;

import javax.swing.DefaultComboBoxModel;

public class UpdateStuView extends JPanel {

private JPanel updStu_panel;

private JTextField updIDtextField;

private JTextField updName_text;

private JTextField updAge_text;

private final ButtonGroup buttonGroup = new ButtonGroup();

private final JComboBox comboBox = new JComboBox();

//------填充下拉列表信息-------------------------------------------------------

private void fillCombobox(){

Vector vec = new GroupManageImpl().serchGroupImpl(new LqGroup()); //获取查询分组的结果

for(int i=0;i

Vector v = (Vector)vec.get(i);

int gID = (int) v.get(0);

String gName = (String) v.get(1);

String gDesc = (String) v.get(2);

LqGroup lqgroup = new LqGroup(gID,gName,gDesc); //将查询到的信息封装

comboBox.addItem(lqgroup);

}

}

public UpdateStuView(){

setBorder(new TitledBorder(null, "\u66F4\u65B0\u5B66\u751F\u4FE1\u606F", TitledBorder.LEADING, TitledBorder.TOP, null, null));

setLayout(null);

JLabel updStuID_label = new JLabel("要修改学生的学号:");

updStuID_label.setFont(new Font("宋体", Font.PLAIN, 14));

updStuID_label.setBounds(62, 58, 131, 15);

add(updStuID_label);

updIDtextField = new JTextField();

updIDtextField.setBounds(222, 55, 227, 21);

add(updIDtextField);

updIDtextField.setColumns(10);

JLabel updedStuName_Label = new JLabel("修改学生的姓名为: ");

updedStuName_Label.setFont(new Font("宋体", Font.PLAIN, 14));

updedStuName_Label.setBounds(62, 111, 151, 15);

add(updedStuName_Label);

updName_text = new JTextField();

updName_text.setBounds(223, 108, 226, 21);

add(updName_text);

updName_text.setColumns(10);

JLabel lblNewLabel = new JLabel("修改学生的性别为:");

lblNewLabel.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel.setBounds(62, 146, 151, 15);

add(lblNewLabel);

JLabel lblNewLabel_1 = new JLabel("修改学生的年龄为:");

lblNewLabel_1.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_1.setBounds(62, 174, 131, 15);

add(lblNewLabel_1);

updAge_text = new JTextField();

updAge_text.setBounds(222, 171, 227, 21);

add(updAge_text);

updAge_text.setColumns(10);

JLabel lblNewLabel_2 = new JLabel("修改学生所属组为:");

lblNewLabel_2.setFont(new Font("宋体", Font.PLAIN, 14));

lblNewLabel_2.setBounds(62, 213, 131, 15);

add(lblNewLabel_2);

final JRadioButton boy_button = new JRadioButton("男");

boy_button.setSelected(true);

buttonGroup.add(boy_button);

boy_button.setFont(new Font("宋体", Font.PLAIN, 14));

boy_button.setBounds(241, 142, 62, 23);

add(boy_button);

JRadioButton girl_Button = new JRadioButton("女");

buttonGroup.add(girl_Button);

girl_Button.setFont(new Font("宋体", Font.PLAIN, 14));

girl_Button.setBounds(316, 142, 68, 23);

add(girl_Button);

comboBox.setBounds(222, 210, 227, 21);

add(comboBox);

JButton updStu_Button = new JButton("确认修改");

updStu_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

String updStuID = updIDtextField.getText();

String updedStuName = updName_text.getText();

String updedStuSex = boy_button.isSelected()?"男":"女";

LqGroup selectedGroup = (LqGroup) comboBox.getSelectedItem(); //获取在选中时存放到comboBox中的整条学生记录

int updedStuGroup= selectedGroup.getgID(); //获取那条记录中的学生分组ID

int updedStuAge = Integer.parseInt(updAge_text.getText());

if(StringUtil.isEmpty(updStuID)){

JOptionPane.showMessageDialog(null, "学生ID不能为空!!");

return;

}

if(!(StringUtil.isNotEmpty(updedStuName))){

JOptionPane.showMessageDialog(null, "学生姓名不能为空!!");

return;

}

if(comboBox.getSelectedIndex()==0){

JOptionPane.showMessageDialog(null , "该选项无效,请选择下列具体分组!");

return;

}

Student student = new Student(Integer.parseInt(updStuID),updedStuName,updedStuSex,updedStuAge,updedStuGroup);

boolean ub = new StuManageImpl().UpdateStuImpl(student);

if(ub==true){JOptionPane.showMessageDialog(null, "恭喜你,更改学生"+updStuID+"的信息成功!");

updIDtextField.setText("");

boy_button.setSelected(true);

updAge_text.setText("");

updName_text.setText("");

comboBox.setSelectedItem(0);

}

else JOptionPane.showMessageDialog(null, "sorry,更改学生"+updStuID+"的信息失败!");

}

});

updStu_Button.setFont(new Font("宋体", Font.PLAIN, 14));

updStu_Button.setBounds(120, 279, 93, 39);

add(updStu_Button);

JButton updback_Button = new JButton("撤销修改");

updback_Button.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

updIDtextField.setText("");

boy_button.setSelected(true);

updAge_text.setText("");

updName_text.setText("");

comboBox.setSelectedItem(0);

}

});

updback_Button.setFont(new Font("宋体", Font.PLAIN, 14));

updback_Button.setBounds(291, 279, 93, 39);

add(updback_Button);

comboBox.addItem(new LqGroup(-1,"请选择下列分组...",null));

this.fillCombobox(); //调用fillCombobox方法初始化下拉菜单列表

}

}

package jdbcDao;

import java.util.Vector;

import table.LqGroup;

public interface Group_Operation {

/**

* 添加蓝桥分组信息

* @param lqgroup

* @return

*/

public boolean addGroup(LqGroup lqgroup);

/**

* 删除蓝桥分组

*/

public boolean delGroup(LqGroup lqgroup);

/**

* 更新蓝桥分组信息

*/

public boolean updGroup(LqGroup lqgroup);

/**

* 查询蓝桥分组信息

*/

public Vector serchGroup(LqGroup lqgroup);

}

package jdbcDao;

import table.Admin;

public interface Login_Operation{

public Admin login_conn(Admin admin);

}

package jdbcDao;

import java.util.Vector;

import table.Student;

public interface Stu_Operation {

/**

* 实现添加学生的功能

* @param student

* @return

*/

public boolean addStu(Student student);

/**

* 实现删除学生的功能

*/

public boolean delStu(Student student);

/**

* 实现更改学生信息的功能

*/

public boolean updStu(Student student);

/**

* 实现查询学生的功能

*/

public Vector serchStu(Student student);

}

package jdbcDao.jdbcDaoImpl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import jdbcDao.Group_Operation;

import myUtil.ConnJdbc;

import myUtil.StringUtil;

import table.LqGroup;

public class Group_OperationImpl implements Group_Operation {

static Connection conn = null;

static PreparedStatement pres = null;

static int rs;

public boolean addGroup(LqGroup lqgroup) {

int gID = lqgroup.getgID();

String gName = lqgroup.getgName();

String gDesc = lqgroup.getgDesc();

try{

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("insert into LqGroup values(?,?,?)");

pres.setInt(1, gID);

pres.setString(2, gName);

pres.setString(3, gDesc);

rs = pres.executeUpdate();

if(rs==0) return false;

else return true;

}catch(SQLException e){

e.fillInStackTrace();

return false;

}finally{

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

@Override

public boolean delGroup(LqGroup lqgroup) {

String gName = lqgroup.getgName();

try {

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("delete from LqGroup where gName=?");

pres.setString(1, gName);

rs = pres.executeUpdate();

if(rs==0)

return false;

else return true;

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

return false;

}finally{

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

@Override

public boolean updGroup(LqGroup lqgroup) {

// TODO 自动生成的方法存根

try {

int gID = lqgroup.getgID();

String gName = lqgroup.getgName();

String gDesc = lqgroup.getgDesc();

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("update LqGroup set gName=?,gDesc=? where gID=?");

pres.setString(1, gName);

pres.setString(2,gDesc );

pres.setInt(3, gID);

rs = pres.executeUpdate();

if(rs==0) return false;

else return true;

}catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

return false;

}finally{

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

@Override

public Vector serchGroup(LqGroup lqgroup) {

// TODO 自动生成的方法存根

StringBuffer sql = new StringBuffer("select gID,gName,gDesc from LqGroup");

Vector vec = new Vector(); //用来存放查询到的所有记录

try {

String gName = lqgroup.getgName();

System.out.println(gName);

if(StringUtil.isNotEmpty(gName)){

sql.append(" where gName like '%"+gName+"%'"); //加入查询条件

}

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement(sql.toString()); //将StringBuffer类型转换为String类型

ResultSet rs = pres.executeQuery();

while(rs.next()){

Vector v = new Vector(); //用来存放每条记录中的内容

v.add(rs.getInt(1)); //将查询到的存放在字符集中的内容添加到v中

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

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

vec.add(v);

}

return vec;

}catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

return vec;

}finally{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

}//对应整个类的结束

package jdbcDao.jdbcDaoImpl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import javax.swing.JOptionPane;

import jdbcDao.Login_Operation;

import myUtil.ConnJdbc;

import table.Admin;

public class Login_OperationImpl implements Login_Operation {

static Connection conn = null;

static PreparedStatement pres = null;

static ResultSet rs=null;

public Admin login_conn(Admin admin) {

// TODO 自动生成的方法存根

String aName = admin.getAdminName(); //Admin类创建的admin对象调用get方法获取admin的用户名和密码

String aPwd = admin.getAdminPwd();

Admin a = null;

try{

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("select * from admin where aName=? and aPwd=?");

pres.setString(1,aName);

pres.setString(2,aPwd);

//pres.executeupdate();//增删改

rs = pres.executeQuery();//查

if(rs.next()){

String name = rs.getString(1);

String psw = rs.getString(2);

a = new Admin(name,psw);

a.setAdminPwd(psw);

a.setAdminName(name);

}

}catch(SQLException e){

e.printStackTrace();

}finally {

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

//返回一个对象,对象中封装了用户名和密码,加入没有查到用户输入的,则没有封装进去,则返回null、

//LoginManageImpl根据返回a的结果(null或者非null来判断是否登陆成功)

return a;

}

}

package jdbcDao.jdbcDaoImpl;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Vector;

import jdbcDao.Stu_Operation;

import myUtil.ConnJdbc;

import myUtil.StringUtil;

import table.Admin;

import table.Student;

public class Stu_OperationImpl implements Stu_Operation {

static Connection conn = null;

static PreparedStatement pres = null;

static int rs;

public boolean addStu(Student student) {

// TODO 自动生成的方法存根

int stuID = student.getStuID();

String stuName = student.getStuName();

String stuSex = student.getStuSex();

int stuAge = student.getStuAge();

int stuGroup = student.getStuGroup();

try{

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("insert into Student values(?,?,?,?,?) ");

pres.setInt(1,stuID);

pres.setString(2,stuName);

pres.setString(3, stuSex);

pres.setInt(4, stuAge);

pres.setInt(5, stuGroup);

rs = pres.executeUpdate();//增删改 ,返回int类型的整数

if(rs==0) return false;

else return true;

}catch(SQLException e){

e.printStackTrace();

return false;

}finally {

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

@Override

public boolean delStu(Student student) {

String stuName = student.getStuName();

try{

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement("delete from Student where stuName=?");

pres.setString(1,stuName);

rs=pres.executeUpdate();//增删改 返回存在的行数

if(rs==0)

return false;

else return true;

}catch(SQLException e){

e.printStackTrace();

return false;

}finally {

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

public boolean updStu(Student student) {

int stuID = student.getStuID();

String stuName = student.getStuName();

String stuSex = student.getStuSex();

int stuAge = student.getStuAge();

int stuGroup = student.getStuGroup();

try{

conn = ConnJdbc.getConnJdbc();

pres = conn.prepareStatement(

"update Student set stuName=?,stuSex=?,stuAge=?,gID=? "

+ "where stuID=?");

pres.setString(1,stuName);

pres.setString(2, stuSex);

pres.setInt(3,stuAge);

pres.setInt(4, stuGroup);

pres.setInt(5, stuID);

rs = pres.executeUpdate();//增删改

if(rs==0){

return false;

}

else return true;

}catch(SQLException e){

e.printStackTrace();

return false;

}finally {

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

public Vector serchStu(Student student) {

StringBuffer sql = new StringBuffer("select s.stuID,s.stuName,s.stuSex,"

+ "s.stuAge,lq.gName from Student s,LqGroup lq where s.gID=lq.gID");

Vector vec = new Vector();

try{

String stuName = student.getStuName();

String stuSex = student.getStuSex();

int gID = student.getStuGroup();

if(StringUtil.isNotEmpty(stuName)){

sql.append(" and s.stuName like '%"+stuName+"%'");

}

if(StringUtil.isNotEmpty(stuSex)){

sql.append(" and s.stuSex like '%"+stuSex+"%'");

}

if(gID>0){

sql.append(" and s.gid = "+gID);

}

conn =ConnJdbc.getConnJdbc();

pres = conn.prepareStatement(sql.toString());

ResultSet rs = pres.executeQuery();

while(rs.next()){

Vector v = new Vector();

v.add(rs.getInt(1));

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

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

v.add(rs.getInt(4));

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

vec.add(v);

}

return vec;

}catch(SQLException e){

e.printStackTrace();

return vec;

}finally

{

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}

}

}

}

package myUtil;

import java.io.FileInputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Properties;

public class ConnJdbc {

private final static String DRIVER = "oracle.jdbc.driver.OracleDriver";

private final static String URL = "Jdbc:oracle:" + "thin:@119.29.236.232:1521:orcl";

private final static String USER= "Scott"; // 用户名

private final static String PWD = "123456"; // 用户密码

//private static Properties prop = new Properties();

private static Connection conn= null; // 创建一个数据库连接

static{

try {

Class.forName(DRIVER);

// FileInputStream file = new FileInputStream("jdbc.prop");

// prop.load(file);

// file.close();

//Class.forName(prop.getProperty("Driver"));//Driver就相当于一个人建

} catch (Exception e) {

// TODO 自动生成的 catch 块

e.printStackTrace();

}// 加载Oracle驱动,放在静态块中加载快

}

public static Connection getConnJdbc() {

try {

System.out.println("尝试连接数据库...");

conn = DriverManager.getConnection(URL,USER,PWD);

//prop.getProperty("url"), //通过键值实现索引

//prop.getProperty("user"),

//prop.getProperty("password")); // 获取连接

System.out.println("连接成功!");

} catch (SQLException e) {

e.printStackTrace();

}

return conn;

}

}

package myUtil;

public class StringUtil {

/**

* 用于判断字符串是空的,是则返回true

* @param addStuID

* @return

*/

public static boolean isEmpty(String s){

if("".equals(s)||s==null) return true;

else return false;

}

/**

* 用于判断字符串是不是空的,如果成立则返回true

* @param s

* @return

*/

public static boolean isNotEmpty(String s){

if(!"".equals(s)&&s!=null) return true;

else return false;

}

}

package table;

public class Admin{

private int aID;

private String aName;

private String aPwd;

public Admin(String aName, String aPwd) {

// TODO 自动生成的构造函数存根

this.aName = aName;

this.aPwd = aPwd;

}

public Admin(String delText) {

this.aID = aID;

// TODO 自动生成的构造函数存根

}

/* public Admin(int aID, String aName, String aPwd) {

super();

this.aID = aID;

this.aName = aName;

this.aPwd = aPwd;

}*/

public int getAdminID() {

return aID;

}

public void setAdminID(int adminID) {

this.aID = adminID;

}

public String getAdminName() {

return aName;

}

public void setAdminName(String adminName) {

this.aName = adminName;

}

public String getAdminPwd() {

return aPwd;

}

public void setAdminPwd(String adminPwd) {

this.aPwd = adminPwd;

}

}

package table;

public class LqGroup {

private int gID;

private String gName;

private String gDesc;

public LqGroup(String gName){

super();

this.gName = gName;

}

public LqGroup(int gID, String gName, String gDesc) {

super();

this.gID = gID;

this.gName = gName;

this.gDesc = gDesc;

}

public LqGroup() {

// TODO 自动生成的构造函数存根

}

public int getgID() {

return gID;

}

public void setgID(int gID) {

this.gID = gID;

}

public String getgName() {

return gName;

}

public void setgName(String gName) {

this.gName = gName;

}

public String getgDesc() {

return gDesc;

}

public void setgDesc(String gDesc) {

this.gDesc = gDesc;

}

public String toString(){

return this.getgName();

}

}

package table;

public class Student {

private int stuID;

private String stuName;

private String stuSex;

private int stuAge;

private int stuGroup;

public Student(int stuID, String stuName, String stuPwd) {

super();

this.stuID = stuID;

this.stuName = stuName;

}

public Student(int stuID, String stuName, String stuSex, int stuAge, int stuGroup) {

this.stuID = stuID;

this.stuName = stuName;

this.stuSex = stuSex;

this.stuAge = stuAge;

this.stuGroup = stuGroup;

}

public Student(int stuID) {

this.stuID = stuID;

}

public Student() {

// TODO 自动生成的构造函数存根

}

public int getStuID() {

return stuID;

}

public void setStuID(int stuID) {

this.stuID = stuID;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuSex() {

return stuSex;

}

public void setStuSex(String stuSex) {

this.stuSex = stuSex;

}

public int getStuAge() {

return stuAge;

}

public void setStuAge(int stuAge) {

this.stuAge = stuAge;

}

public int getStuGroup() {

return stuGroup;

}

public void setStuGroup(int stuGroup) {

this.stuGroup = stuGroup;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值