思路:将程序简单的分为了一个主要的菜单类和其他的五个功能类,实现对数据库的信息的增删改查。
缺点:写了大量重复代码,实现的功能却不多,将每个类的界面和功能都写到了一个方法里,类与类之间完全分开,没有一点关联性
涉及知识点:
1数据库的连接
2.executeUpdate与excuteQuery的区别
3.Statement与PreparedStatement的区别
4.swing销毁当前窗口的方法
public class Menu extends JFrame{
private JScrollPane scrollpane;
private JButton button1, button2, button3,button4,button5;
private JPanel panel;
public static void main(String[] args) {
new Menu().initView();
}
private void initView() {
this.setTitle("学生信息管理系统");
/*id=new JLabel("学号");
name=new JLabel("姓名");
school=new JLabel("学院");
date=new JLabel("入学日期");*/
button1=new JButton("添加");
button2=new JButton("修改");
button3=new JButton("查询");
button4=new JButton("删除");
button5=new JButton("浏览");
panel=new JPanel();
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(button5);
this.add(panel);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Add().view();
}
});
button2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Change().view();
}
});
button3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Ask();
}
});
button4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
new Delete();
}
});
button5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new Look().view();
}
});
this.setSize(450, 450);
this.setLocation(150, 150);
this.setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
public class Add extends JFrame{
private JLabel id,name,school,date;
private JTextField fieldid,fieldname,fieldschool,fielddate;
private JButton button1, button2;
private JPanel panelid,panelbutton,panelname,panelschool,paneldate;
private String driver;
private String url;
private String user;
private String pass;
public void view() {
id=new JLabel("学号");
name=new JLabel("姓名");
school=new JLabel("学院");
date=new JLabel("入学日期");
button1=new JButton("确认");
button2=new JButton("重置");
fieldid=new JTextField("",20);
fielddate=new JTextField("",20);
fieldname=new JTextField("",20);
fieldschool=new JTextField("",20);
panelbutton=new JPanel(new GridLayout(1,1));
panelid=new JPanel();
panelname=new JPanel();
panelschool=new JPanel();
paneldate=new JPanel();
panelbutton.add(button1);
panelbutton.add(button2);
panelid.add(id);
panelid.add(fieldid);
panelname.add(name);
panelname.add(fieldname);
panelschool.add(school);
panelschool.add(fieldschool);
paneldate.add(date);
paneldate.add(fielddate);
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Connection conn=null;
String sql="insert into sd(id,name,schol,date)"+"values(?,?,?,?)";
try