- 浏览: 176598 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
muyiou:
这篇文章讲的真好!
java内部类 -
刚开始吧:
讲的很好。很经典。貌似还有点小问题。就像19层说的,是不是&l ...
Spring+Hibernate+Struts2整合文档 -
306335604:
相关的分析文档出来;在什么地方,大哥,能不能贴出来
有点piwik的一点东西 -
nextman:
小儿科
Spring+Hibernate+Struts2整合文档 -
liu2511981:
按照Lz 的配置,其中在 配置 声明式事务处理的时候有异常, ...
Spring+Hibernate+Struts2整合文档
只贴代码算了:
主窗口文件: package com.hejianjiao.student.main; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Color; import java.awt.Container; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.Hashtable; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import com.hejianjiao.student.oper.Delete; import com.hejianjiao.student.oper.Inquest; import com.hejianjiao.student.oper.ModifySituation; import com.hejianjiao.student.oper.StudentSituation; public class StudentManager extends JFrame implements ActionListener { StudentSituation 基本信息录入 = null; ModifySituation 基本信息修改 = null; Inquest 基本信息查询 = null; Delete 基本信息删除 = null; JMenuBar bar; JMenu fileMenu; JMenuItem 录入, 修改, 查询, 删除; Container con = null; Hashtable 基本信息 = null; // File file = null; CardLayout card = null; JLabel label = null; JPanel pCenter = null; /** * 构造器 * */ public StudentManager() { 录入 = new JMenuItem("录入学生基本信息"); 修改 = new JMenuItem("修改学生基本信息"); 查询 = new JMenuItem("查询学生基本信息"); 删除 = new JMenuItem("删除学生基本信息"); bar = new JMenuBar(); fileMenu = new JMenu("菜单选项"); fileMenu.add(录入); fileMenu.add(修改); fileMenu.add(查询); fileMenu.add(删除); bar.add(fileMenu); this.setJMenuBar(bar); label = new JLabel("欢迎使用学生信息管理系统", JLabel.CENTER); label.setFont(new Font("TimesRoman", Font.BOLD, 24)); label.setForeground(Color.red); 基本信息 = new Hashtable(); 录入.addActionListener(this); 修改.addActionListener(this); 查询.addActionListener(this); 删除.addActionListener(this); card = new CardLayout(); con = getContentPane(); pCenter = new JPanel(); pCenter.setLayout(card); // file = new File("基本信息.txt"); // if (!file.exists()) { // try { // FileOutputStream out = new FileOutputStream(file); // ObjectOutputStream objectOut = new ObjectOutputStream(out); // objectOut.writeObject(基本信息); // objectOut.close(); // out.close(); // } catch (FileNotFoundException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } // } 基本信息录入 = new StudentSituation(); 基本信息修改 = new ModifySituation(); 基本信息查询 = new Inquest(this); 基本信息删除 = new Delete(); pCenter.add("欢迎语界面", label); pCenter.add("录入界面", 基本信息录入); pCenter.add("修改界面", 基本信息修改); pCenter.add("删除界面", 基本信息删除); con.add(pCenter, BorderLayout.CENTER); con.validate(); this.addWindowFocusListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); setVisible(true); setBounds(100, 50, 420, 380); validate(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == 录入) { card.show(pCenter, "录入界面"); } else if (e.getSource() == 修改) { card.show(pCenter, "修改界面"); } else if (e.getSource() == 查询) { // 基本信息查询 窗口设置为独立窗口,以便于用户进行查询 基本信息查询.setVisible(true); } else if (e.getSource() == 删除) { card.show(pCenter, "删除界面"); } } public static void main(String[] args) { new StudentManager(); } }
package com.hejianjiao.student.oper; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import com.hejianjiao.database.hibernate.StudentOper; import com.hejianjiao.student.entity.Student; /** * 学生信息录入 */ public class StudentSituation extends JPanel implements ActionListener { // List 基本信息表 = null; JTextField 学号, 姓名, 专业, 年级, 出生; JRadioButton 男, 女; Student 学生 = null; ButtonGroup group = null; JButton 录入, 重置; // FileInputStream inOne = null; // ObjectInputStream inTwo = null; // FileOutputStream outOne = null; // ObjectOutputStream outTwo = null; // // File file = null; public StudentSituation() { // this.file = file; 学号 = new JTextField(10); 姓名 = new JTextField(10); 专业 = new JTextField(10); 年级 = new JTextField(10); 出生 = new JTextField(10); group = new ButtonGroup(); 男 = new JRadioButton("男"); 女 = new JRadioButton("女"); group.add(女); group.add(男); 录入 = new JButton("录入"); 重置 = new JButton("重置"); 录入.addActionListener(this); 重置.addActionListener(this); Box box1 = Box.createHorizontalBox();// 创建6个水平Box容器 box1.add(new JLabel("学号:", JLabel.CENTER)); box1.add(学号); Box box2 = Box.createHorizontalBox(); box2.add(new JLabel("姓名:", JLabel.CENTER)); box2.add(姓名); Box box3 = Box.createHorizontalBox(); box3.add(new JLabel("性别:", JLabel.CENTER)); box3.add(男); box3.add(女); Box box4 = Box.createHorizontalBox(); box4.add(new JLabel("专业:", JLabel.CENTER)); box4.add(专业); Box box5 = Box.createHorizontalBox(); box5.add(new JLabel("年级:", JLabel.CENTER)); box5.add(年级); Box box6 = Box.createHorizontalBox(); box6.add(new JLabel("出生:", JLabel.CENTER)); box6.add(出生); Box boxH = Box.createVerticalBox();// 创建一个垂直的box容器,其中从上向下排列6个水平Box容器 boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue());// 垂直box容器内的组件靠上对齐 JPanel pCenter = new JPanel(); pCenter.add(boxH); setLayout(new BorderLayout()); add(pCenter, BorderLayout.CENTER); JPanel pSourth = new JPanel(); pSourth.add(录入); pSourth.add(重置); add(pSourth, BorderLayout.SOUTH); validate(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == 录入) { String number = ""; number = 学号.getText(); if (number.length() > 0) { // try { // inOne = new FileInputStream(file); // inTwo = new ObjectInputStream(inOne); // System.out.println("基本信息表=" + 基本信息表); // 基本信息表 = (Hashtable) inTwo.readObject();// 首先到文件中读取HashTable对象 // inOne.close(); // inTwo.close(); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } catch (ClassNotFoundException e1) { // e1.printStackTrace(); // } StudentOper oper = new StudentOper(); Student student = oper.getStudent(number); if (student != null) {// 如果学号对应的学生基本信息已经存在,弹出警告对话框. String warning = "该生基本信息已经存在,请到修改页面修改!"; JOptionPane.showMessageDialog(this, warning, "警告", JOptionPane.WARNING_MESSAGE); } else { String m = "基本信息将被录入!"; int ok = JOptionPane.showConfirmDialog(this, m, "确认", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if (ok == JOptionPane.YES_OPTION) { String name = 姓名.getText(); String discipling = 专业.getText(); String grade = 年级.getText(); String borth = 出生.getText(); String sex = null; if (男.isSelected()) { sex = 男.getText(); } else { sex = 女.getText(); } 学生 = new Student(); 学生.setName(name); 学生.setId(number); 学生.setDiscipling(discipling); 学生.setBorth(borth); 学生.setSex(sex); 学生.setGrade(grade); // 存进数据库 boolean flag = oper.saveStudent(学生); if (flag) { String success = "数据保存成功!"; JOptionPane.showMessageDialog(this, success, "成功啦!", JOptionPane.OK_OPTION); } else { String fail = "数据保存失败!"; JOptionPane.showMessageDialog(this, fail, "失败啦!", JOptionPane.CANCEL_OPTION); } // // 新增的信息存入散列文件中 // try { // outOne = new FileOutputStream(file); // outTwo = new ObjectOutputStream(outOne); // 基本信息表.put(number, 学生); // outTwo.close(); // outOne.close(); // 学号.setText(null); // 姓名.setText(null); // 专业.setText(null); // 年级.setText(null); // 出生.setText(null); // } catch (FileNotFoundException e1) { // System.out.println(e1); // e1.printStackTrace(); // } catch (IOException e1) { // System.out.println(e1); // e1.printStackTrace(); // } } } } else {// 还没有输入 String warning = "你必须输入学号!"; JOptionPane.showMessageDialog(this, warning, "警告", JOptionPane.WARNING_MESSAGE); } } if (e.getSource() == 重置) { 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } }
package com.hejianjiao.student.oper; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import com.hejianjiao.database.hibernate.StudentOper; import com.hejianjiao.student.entity.Student; /** * 学生信息修改 */ public class ModifySituation extends JPanel implements ActionListener { // List 基本信息表 = null; JTextField 学号, 姓名, 专业, 年级, 出生; JRadioButton 男, 女; ButtonGroup group = null; JButton 开始修改, 录入修改, 重置; // FileInputStream inOne = null; // ObjectInputStream inTwo = null; // FileOutputStream outOne = null; // ObjectOutputStream outTwo = null; // // File file = null; public ModifySituation() { // this.file = file; 学号 = new JTextField(10); 姓名 = new JTextField(10); 专业 = new JTextField(10); 年级 = new JTextField(10); 出生 = new JTextField(10); 男 = new JRadioButton("男", false); 女 = new JRadioButton("女", false); group = new ButtonGroup(); group.add(男); group.add(女); 开始修改 = new JButton("开始修改"); 录入修改 = new JButton("录入修改"); 录入修改.setEnabled(false); 重置 = new JButton("重置"); 学号.addActionListener(this); 开始修改.addActionListener(this); 录入修改.addActionListener(this); 重置.addActionListener(this); Box box1 = Box.createHorizontalBox();// 创建6个水平Box容器 box1.add(new JLabel("输入要修改信息的学号:", JLabel.CENTER)); box1.add(学号); box1.add(开始修改); Box box2 = Box.createHorizontalBox(); box2.add(new JLabel("(新)姓名:", JLabel.CENTER)); box2.add(姓名); Box box3 = Box.createHorizontalBox(); box3.add(new JLabel("(新)性别:", JLabel.CENTER)); box3.add(男); box3.add(女); Box box4 = Box.createHorizontalBox(); box4.add(new JLabel("(新)专业:", JLabel.CENTER)); box4.add(专业); Box box5 = Box.createHorizontalBox(); box5.add(new JLabel("(新)年级:", JLabel.CENTER)); box5.add(年级); Box box6 = Box.createHorizontalBox(); box6.add(new JLabel("(新)出生:", JLabel.CENTER)); box6.add(出生); Box boxH = Box.createVerticalBox();// 创建一个垂直的box容器,其中从上向下排列6个水平Box容器 boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue());// 垂直box容器内的组件靠上对齐 JPanel pCenter = new JPanel(); pCenter.add(boxH); setLayout(new BorderLayout()); add(pCenter, BorderLayout.CENTER); JPanel pSourth = new JPanel(); pSourth.add(录入修改); pSourth.add(重置); add(pSourth, BorderLayout.SOUTH); validate(); } public void actionPerformed(ActionEvent e) { if (e.getSource() == 开始修改 || e.getSource() == 学号) { String number = 学号.getText(); if (number.length() > 0) { // try { // inOne = new FileInputStream(file); // inTwo = new ObjectInputStream(inOne); // 基本信息表 = (Hashtable) inTwo.readObject();// 首先到文件中读取HashTable对象 // inOne.close(); // inTwo.close(); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } catch (ClassNotFoundException e1) { // e1.printStackTrace(); // } StudentOper oper = new StudentOper(); Student student = oper.getStudent(number); if (student != null) {// 存在信息 录入修改.setEnabled(true); Student stu = (Student) oper.getStudent(number); 姓名.setText(stu.getName()); 专业.setText(stu.getDiscipling()); 年级.setText(stu.getGrade()); 出生.setText(stu.getBorth()); if (stu.getSex().equals("男")) { 男.setSelected(true); } else { 女.setSelected(true); } } else { 录入修改.setEnabled(false); String m = "该学号不存在!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else { 录入修改.setEnabled(false); String m = "你必须输入学号!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else if (e.getSource() == 录入修改) { String number = 学号.getText(); if (number.length() > 0) { // try { // inOne = new FileInputStream(file); // inTwo = new ObjectInputStream(inOne); // 基本信息表 = (Hashtable) inTwo.readObject();// 首先到文件中读取HashTable对象 // inOne.close(); // inTwo.close(); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } catch (ClassNotFoundException e1) { // e1.printStackTrace(); // } StudentOper oper = new StudentOper(); Student student = oper.getStudent(number); if (student != null) {// 存在信息 String question = "该生基本信息已经存在,你想修改它吗?"; JOptionPane.showMessageDialog(this, question, "警告", JOptionPane.QUESTION_MESSAGE); // 弹出确认信息 String m = "该生的信息将会被修改!"; int ok = JOptionPane.showConfirmDialog(this, m, "确认", JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE); if (ok == JOptionPane.YES_OPTION) { String name = 姓名.getText(); String discipling = 专业.getText(); String grade = 年级.getText(); String borth = 出生.getText(); String sex = null; if (男.isSelected()) { sex = 男.getText(); } else { sex = 女.getText(); } Student 学生 = new Student(); 学生.setName(name); 学生.setDiscipling(discipling); 学生.setBorth(borth); 学生.setSex(sex); 学生.setGrade(grade); // 保存到数据库中 boolean flag = oper.updateStudent(学生); if (flag) { String success = "数据修改成功!"; JOptionPane.showMessageDialog(this, success, "成功啦!", JOptionPane.OK_OPTION); } else { String fail = "数据修改失败!"; JOptionPane.showMessageDialog(this, fail, "失败啦!", JOptionPane.CANCEL_OPTION); } // // 修改后的信息存入散列文件中 // try { // outOne = new FileOutputStream(file); // outTwo = new ObjectOutputStream(outOne); // 基本信息表.put(number, 学生); // outTwo.close(); // outOne.close(); // 学号.setText(null); // 姓名.setText(null); // 专业.setText(null); // 年级.setText(null); // 出生.setText(null); // } catch (FileNotFoundException e1) { // System.out.println(e1); // e1.printStackTrace(); // } catch (IOException e1) { // System.out.println(e1); // e1.printStackTrace(); // } 录入修改.setEnabled(false); } else if (ok == JOptionPane.CANCEL_OPTION) { 录入修改.setEnabled(true); } } else { 录入修改.setEnabled(false); String m = "没有该学生基本信息,不能修改!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else { 录入修改.setEnabled(false); String m = "你必须输入学号!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); } } if (e.getSource() == 重置) { 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } }
package com.hejianjiao.student.oper; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import com.hejianjiao.database.hibernate.StudentOper; import com.hejianjiao.student.entity.Student; /** * 学生信息查询 */ public class Inquest extends JDialog implements ActionListener { // Hashtable 基本信息表 = null; JTextField 学号, 姓名, 专业, 年级, 出生; JRadioButton 男, 女; JButton 查询; ButtonGroup group = null; // FileInputStream inOne = null; // ObjectInputStream inTwo = null; // File file = null; public Inquest(JFrame f) { super(f, "查询对话框", false); // this.file = file; 学号 = new JTextField(10); 姓名 = new JTextField(10); 专业 = new JTextField(10); 年级 = new JTextField(10); 出生 = new JTextField(10); 查询 = new JButton("查询"); 学号.addActionListener(this); 查询.addActionListener(this); 姓名.setEditable(false); 专业.setEditable(false); 年级.setEditable(false); 出生.setEditable(false); 男 = new JRadioButton("男", false); 女 = new JRadioButton("女", false); group = new ButtonGroup(); group.add(男); group.add(女); Box box1 = Box.createHorizontalBox();// 创建6个水平Box容器,从左到右 box1.add(new JLabel("输入要查询的学号:", JLabel.CENTER)); box1.add(学号); box1.add(查询); Box box2 = Box.createHorizontalBox(); box2.add(new JLabel("姓名:", JLabel.CENTER)); box2.add(姓名); Box box3 = Box.createHorizontalBox(); box3.add(new JLabel("性别:", JLabel.CENTER)); box3.add(男); box3.add(女); Box box4 = Box.createHorizontalBox(); box4.add(new JLabel("专业:", JLabel.CENTER)); box4.add(专业); Box box5 = Box.createHorizontalBox(); box5.add(new JLabel("年级:", JLabel.CENTER)); box5.add(年级); Box box6 = Box.createHorizontalBox(); box6.add(new JLabel("出生:", JLabel.CENTER)); box6.add(出生); Box boxH = Box.createVerticalBox();// 创建一个垂直的box容器,其中从上向下排列6个水平Box容器 boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue());// 垂直box容器内的组件靠上对齐 JPanel pCenter = new JPanel(); pCenter.add(boxH); Container con = getContentPane(); con.add(pCenter, BorderLayout.CENTER); con.validate(); setVisible(false); setBounds(100, 200, 360, 270); this.addWindowFocusListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { setVisible(false); } }); } public void actionPerformed(ActionEvent e) { 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); if (e.getSource() == 查询 || e.getSource() == 学号) { String number = ""; number = 学号.getText(); if (number.length() > 0) { // try { // inOne = new FileInputStream(file); // inTwo = new ObjectInputStream(inOne); // 基本信息表 = (Hashtable) inTwo.readObject();// 首先到文件中读取HashTable对象 // inOne.close(); // inTwo.close(); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } catch (ClassNotFoundException e1) { // e1.printStackTrace(); // } StudentOper oper = new StudentOper(); Student student = oper.getStudent(number); if (student != null) {// 存在信息 姓名.setText(student.getName()); 专业.setText(student.getDiscipling()); 年级.setText(student.getGrade()); 出生.setText(student.getBorth()); if (student.getSex().equals("男")) { 男.setSelected(true); } else { 女.setSelected(true); } } else { String m = "该学号不存在!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); } } else { String m = "你必须输入学号!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); } } } }
package com.hejianjiao.student.oper; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import com.hejianjiao.database.hibernate.StudentOper; import com.hejianjiao.student.entity.Student; /** * 学生信息删除 * */ public class Delete extends JPanel implements ActionListener { // Hashtable 基本信息表 = null; JTextField 学号, 姓名, 专业, 年级, 出生; JRadioButton 男, 女; JButton 删除; ButtonGroup group = null; // FileInputStream inOne = null; // ObjectInputStream inTwo = null; // FileOutputStream outOne = null; // ObjectOutputStream outTwo = null; // // File file = null; public Delete() { // this.file = file; 学号 = new JTextField(10); 姓名 = new JTextField(10); 专业 = new JTextField(10); 年级 = new JTextField(10); 出生 = new JTextField(10); 删除 = new JButton("删除"); 姓名.setEditable(false); 专业.setEditable(false); 年级.setEditable(false); 出生.setEditable(false); group = new ButtonGroup(); 男 = new JRadioButton("男"); 女 = new JRadioButton("女"); group.add(女); group.add(男); 学号.addActionListener(this); 删除.addActionListener(this); Box box1 = Box.createHorizontalBox();// 创建6个水平Box容器 box1.add(new JLabel("输入要删除的学号:", JLabel.CENTER)); box1.add(学号); box1.add(删除); Box box2 = Box.createHorizontalBox(); box2.add(new JLabel("姓名:", JLabel.CENTER)); box2.add(姓名); Box box3 = Box.createHorizontalBox(); box3.add(new JLabel("性别:", JLabel.CENTER)); box3.add(男); box3.add(女); Box box4 = Box.createHorizontalBox(); box4.add(new JLabel("专业:", JLabel.CENTER)); box4.add(专业); Box box5 = Box.createHorizontalBox(); box5.add(new JLabel("年级:", JLabel.CENTER)); box5.add(年级); Box box6 = Box.createHorizontalBox(); box6.add(new JLabel("出生:", JLabel.CENTER)); box6.add(出生); Box boxH = Box.createVerticalBox();// 创建一个垂直的box容器,其中从上向下排列6个水平Box容器 boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); boxH.add(box5); boxH.add(box6); boxH.add(Box.createVerticalGlue());// 垂直box容器内的组件靠上对齐 JPanel pCenter = new JPanel(); pCenter.add(boxH); setLayout(new BorderLayout()); add(pCenter, BorderLayout.CENTER); validate(); } public void actionPerformed(ActionEvent e) { // 用户点击删除 if (e.getSource() == 删除 || e.getSource() == 学号) { String number = 学号.getText(); if (number.length() > 0) { // try { // inOne = new FileInputStream(file); // inTwo = new ObjectInputStream(inOne); // 基本信息表 = (Hashtable) inTwo.readObject();// 首先到文件中读取HashTable对象 // inOne.close(); // inTwo.close(); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } catch (ClassNotFoundException e1) { // e1.printStackTrace(); // } StudentOper oper = new StudentOper(); Student student = oper.getStudent(number); if (student != null) {// 存在信息 姓名.setText(student.getName()); 专业.setText(student.getDiscipling()); 年级.setText(student.getGrade()); 出生.setText(student.getBorth()); if (student.getSex().equals("男")) { 男.setSelected(true); } else { 女.setSelected(true); } String m = "确定要删除该学生的全部信息吗!"; int ok = JOptionPane.showConfirmDialog(this, m, "确认", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (ok == JOptionPane.YES_OPTION) { boolean flag = oper.deleteStudent(number); if (flag) { String success = "数据删除成功!"; JOptionPane.showMessageDialog(this, success, "成功啦!", JOptionPane.OK_OPTION); } else { String fail = "数据删除失败!"; JOptionPane.showMessageDialog(this, fail, "失败啦!", JOptionPane.CANCEL_OPTION); } // try { // outOne = new FileOutputStream(file); // outTwo = new ObjectOutputStream(outOne); // outOne.close(); // outTwo.close(); // 学号.setText(null); // 姓名.setText(null); // 专业.setText(null); // 年级.setText(null); // 出生.setText(null); // } catch (FileNotFoundException e1) { // e1.printStackTrace(); // } catch (IOException e1) { // e1.printStackTrace(); // } } else if (ok == JOptionPane.NO_OPTION) { 学号.setText(null); 姓名.setText(null); 专业.setText(null); 年级.setText(null); 出生.setText(null); } } else { // 如果不存在该生 String m = "该学号不存在!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); } } else { String m = "你必须输入学号!"; JOptionPane.showMessageDialog(this, m, "警告", JOptionPane.WARNING_MESSAGE); } } } }
package com.hejianjiao.student.entity; /** * 学生实体 * */ public class Student { private String id; private String name; private String discipling;// 专业 private String grade;// 年级 private String borth;// 出生 private String sex; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDiscipling() { return discipling; } public void setDiscipling(String discipling) { this.discipling = discipling; } public String getGrade() { return grade; } public void setGrade(String grade) { this.grade = grade; } public String getBorth() { return borth; } public void setBorth(String borth) { this.borth = borth; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.hejianjiao.student.entity.Student" table="student"> <id name="id" column="id"> <generator class="identity"/> </id> <property column="name" name="name"/> <property column="discipling" name="discipling"/> <property column="grade" name="grade"/> <property column="borth" name="borth"/> <property column="sex" name="sex"/> </class> </hibernate-mapping>
package com.hejianjiao.database.hibernate; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Session; import com.hejianjiao.student.entity.Student; /** * 实体操作类 * */ public class StudentOper { public Session getCurrentSession() { return HibernateSessionFactory.getSession(); } public void closeSession() { HibernateSessionFactory.closeSession(); } public boolean saveStudent(Student student) { try { this.getCurrentSession().beginTransaction(); this.getCurrentSession().save(student); this.getCurrentSession().beginTransaction().commit(); return true; } catch (HibernateException e) { this.getCurrentSession().getTransaction().rollback(); e.printStackTrace(); return false; } finally { this.closeSession(); } } public boolean updateStudent(Student student) { try { this.getCurrentSession().beginTransaction(); this.getCurrentSession().update(student); this.getCurrentSession().beginTransaction().commit(); return true; } catch (HibernateException e) { this.getCurrentSession().getTransaction().rollback(); e.printStackTrace(); return false; } finally { this.closeSession(); } } public boolean deleteStudent(String id) { this.getCurrentSession().beginTransaction(); Student student = this.getStudent(id); if (student != null) { try { this.getCurrentSession().delete(student); this.getCurrentSession().beginTransaction().commit(); return true; } catch (HibernateException e) { this.getCurrentSession().getTransaction().rollback(); e.printStackTrace(); } } return false; } public Student getStudent(String id) { return (Student) this.getCurrentSession().get(Student.class, id); } public List getStudent() { List list = this.getCurrentSession().createQuery("from Student").list(); return list; } }
评论
4 楼
xiaoyiz
2009-09-26
怎么都喜欢什么都都hibernate啊。。一个这么小的东西压根没必要 自己写一个JDBC封装的操作类还好些。。。 一个更新 一个查询。。效率绝对比你的没的低
3 楼
anysky131
2008-09-21
有图,但我没有上传,因为这个东西比较简单,你可以自己运行一下,就会明白代码的东西了
2 楼
sunny_clans
2008-09-20
是啊,有截图吗?
1 楼
eccojap
2008-09-18
粘了这么多代码为什么不上传效果图?
相关推荐
本项目是一个基于Java Swing和Hibernate技术构建的简易QQ聊天程序,旨在提供点对点聊天、文件传输以及好友管理等功能。Swing是Java的标准GUI库,用于创建桌面应用程序,而Hibernate则是一个强大的对象关系映射框架,...
《纯Java学生信息管理系统》是一款基于Java编程语言开发的简易信息管理软件,主要实现了对学生信息的添加、删除、查询等基本操作,并且包含了用户登录功能。这个系统并未依赖任何外部插件,全部功能由Java核心代码...
Java基础GUI+JDBC学生管理系统是一个实用的编程项目,它结合了Java图形用户界面(GUI)和Java数据库连接(JDBC)技术,用于构建一个简易的学生信息管理平台。这个项目对于初学者来说是一个很好的实践机会,可以加深...
本项目以Java和MySQL为基础,构建了一个简易的图书管理系统,尤其适合Java和数据库初学者进行学习和实践。 首先,Java作为后台开发语言,以其面向对象的特性、丰富的类库和跨平台的优势,被广泛应用于各种系统开发...
【基于Java的家庭财务管理系统】是一个面向计算机专业学生和开发者的学习项目,旨在提供一个实用的财务管理工具,同时也适合作为学习和实践Java编程、SSH框架的实例。SSH是Spring、Struts和Hibernate三个开源框架的...
《简易图书管理系统》是一款...总的来说,《简易图书管理系统》是一个全面的图书管理解决方案,通过Java技术实现了高效、便捷的图书管理。无论是对于个人还是小型图书馆,都能有效地提升图书管理的效率,降低管理成本。
在IT领域,开发一个图书管理系统是一项常见的任务,它涉及到数据库操作、用户界面设计以及业务逻辑的实现。本系统是一个基于Java编程语言实现的简单图书管理系统,主要功能包括图书的增加、删除、修改、查询和列表...
"JAVA学生系统"是一个基于Java编程语言开发的简易学生信息系统,它主要实现了对学生信息的管理,包括添加、删除、修改和查询等基本操作。这个系统通常会与数据库进行交互,以便持久化存储和检索学生数据。下面将详细...
本文将深入探讨一个基于JAVA编程语言和MYSQL数据库的医院简易挂号管理系统,旨在帮助读者理解如何利用这两种技术构建高效、实用的管理软件。 一、JAVA开发语言 JAVA是一种跨平台的面向对象的编程语言,以其“一次...
【JAVA人事管理系统】是一个基于JAVA编程语言开发的实用软件,主要功能是管理和处理企业内部的人事信息。这个系统对于初学者来说是一个极好的学习资源,因为它涵盖了JAVA编程的基础知识以及实际应用中的常见技术。 ...
总结来说,【简易的代码生成器】是一个利用Java Swing和JDBC技术实现的高效工具,它帮助开发者自动化SSH框架项目的代码生成,降低了编码的复杂性和时间成本。通过理解Swing的GUI设计、JDBC的数据库操作以及SSH框架的...
本项目是一个使用Java编程语言开发的简易人事管理系统,它集成了数据库技术,实现了界面化的操作,使得数据的存储、查询和更新更加便捷。 1. Java技术栈: - **Java基础**:Java是一种跨平台的面向对象的编程语言...
在线考试系统是现代教育技术的重要组成部分,特别是在信息技术的推动下,它已经成为教学评估和学习管理的有效工具。这个名为"Java线考试系统,支持自动阅卷、手动阅卷、随机组卷、手动组卷等功能.zip"的压缩包文件,...
【标题】: "基于Java实现的简易图书管理系统" 在IT领域,开发一个图书管理系统是学习和实践编程技术的常见项目。本系统以Java语言为基础,旨在提供一个简单易用的图书管理解决方案。Java作为一种跨平台的面向对象...
Java编写的显示器显示模式检测程序 2个目标文件 内容索引:JAVA源码,系统相关,系统信息检测 用JAVA编写了一个小工具,用于检测当前显示器也就是显卡的显示模式,比如分辨率,色彩以及刷新频率等。 Java波浪文字制作...
一个基于Java的新闻发布系统通常由多个关键组件构成,涉及用户接口、数据存储、身份验证和授权等多个方面。 1. **用户接口**:在Java中,可以使用JavaFX或Swing来构建用户界面。这些库提供了丰富的组件,如文本框、...
BAM(Banking Application Module)是一个基于Java编程语言构建的简单银行系统,旨在提供基础的银行服务功能,为用户管理和操作虚拟账户提供便利。这个系统展示了如何利用Java技术来实现金融业务逻辑,为初学者提供...
JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...
JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...