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;
}
}