这次试验涉及数据库的一些操作,大概用到如下几个命令。
新建一个数据库
create database phplampDB;
创建一个表 TYPE=MyISAM是指该表使用MyISAM存储引擎,不写也行,主键要设成username 创建student的表类似。
CREATE TABLE `admin` ( `username` varchar(20) NOT NULL, `passwd` varchar(20) NOT NULL, PRIMARY KEY (`username`) ) TYPE=MyISAM;
查询表中的记录
select * from table;
插入一条记录 into 不写也行
insert into admin values(“tom”,”123”);
show variables like 'port';
最后提醒一下MySQL里的数据都可以用用双引号引起来,字段名什么的可以用键盘上1左边tab上边的那个键引起来,很容易弄混。
try{ Class.forName(driver); conn=DriverManager.getConnection(url,user,pass); if (!conn.isClosed()){ System.out.println("Success"); statement = conn.createStatement(); rs = statement.executeQuery("select * from admin"); } }catch(Exception e){ System.out.println("exception"); }变量如下:
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/hit";
private static String user="root";
private static String pass="nihaoa";
private static Connection conn;
private static ResultSet rs;
private static Statement statement;
Class.forName()静态方法是为了动态加载类,一般在加载完成后还需要调用newInstance()来实例化对象,其实它和new差不多,不过newInstance()只支持无参数初始化。
Class.forName("")返回一个类
Class.forName("").newInstance()返回一个object
刚才提到,Class.forName("");的作用是要求JVM查找并加载指定的类,如果在类中有静态初始化器的话,JVM必然会
执行该类的静态代码 段。而在JDBC规范中明确要求这个Driver类必须向DriverManager注册自己,即任何一个JDBC
Driver的 Driver类的代码都必须类似如下:
public class MyJDBCDriver implements Driver {
static {
DriverManager.registerDriver(new MyJDBCDriver());
}
}
既然在静态初始化器的中已经进行了注册,所以我们在使用JDBC时只需要Class.forName(XXX.XXX);就可以了。
布局都很熟了就不多说了
工具栏我是这样写的
private void installTollBar(){ toolBar = new JToolBar(); button1.addActionListener(this); button2.addActionListener(this); toolBar.add(button1); toolBar.add(button2); add(toolBar,BorderLayout.NORTH); }
private void installTable(){ table = new JTable(data,name); table.setBounds(0, 0, 450, 450); pane=new JScrollPane(table); add(pane); }参数如下
private JTable table;
private Object[][] data = {};
private String[] name = {"number","name","sex","age","brith","collage"};
JScrollPane pane = null;
public void databaseInit(){ try{ rs = statement.executeQuery("select * from student"); System.out.println("Success Init"); int i=0; rs.last(); data = new Object[rs.getRow()][6]; System.out.println(rs.getRow()); rs.beforeFirst(); while (rs.next()){ for(int j=0;j<6;j++){ data[i][j]=rs.getObject(j+1); //System.out.print(rs.getObject(j+1)+" "); } System.out.println(); i++; } installTable(); }catch(Exception ex){ System.out.println("Exception In databaseInit()"); } }
Y=text4.getText();
M=text5.getText();
D=text6.getText();
T=Y+"-"+M+"-"+D;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(true);
try{
dateFormat.parse(T);
}catch(Exception ex){
INData();
System.out.println("Date");
}
import java.awt.BorderLayout; import java.awt.Choice; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.text.SimpleDateFormat; import javax.swing.ButtonGroup; import javax.swing.JButton; 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 javax.swing.JRadioButton; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.JToolBar; public class MyDateBase { public static void main(String[] args) { try{ Class.forName(driver); conn=DriverManager.getConnection(url,user,pass); if (!conn.isClosed()){ System.out.println("Success"); statement = conn.createStatement(); rs = statement.executeQuery("select * from admin"); } }catch(Exception e){ System.out.println("exception"); } MyLogin = new Login(); } private static class MyCons extends GridBagConstraints { public MyCons(int a, int b, int c, int d) { super.weightx = 1; super.weighty = 1; super.gridx = a; super.gridy = b; super.gridwidth = c; super.gridheight = d; } } private static class Login extends JFrame implements ActionListener { @Override public void actionPerformed(ActionEvent e) { String userName; String passWd; if (e.getSource().equals(button1)) { userName=text1.getText(); passWd=text2.getText(); boolean b=false; try{ while(rs.next()){ System.out.println(rs.getString(1)+" "+rs.getString(2)); //System.out.println(rs.getString(1)==userName+" "+rs.getString(2)); if((rs.getString(1).equals(userName))&&(rs.getString(2).equals(passWd))){ b=true; } } }catch(Exception ex){ } if(b) MyMain = new Main(); this.dispose(); } if (e.getSource().equals(button2)){ this.dispose(); } } public Login() { super("Login"); setSize(200, 200); this.setVisible(true); init(); } private void init() { button1.addActionListener(this); button2.addActionListener(this); setLayout(new GridBagLayout()); add(label1, new MyCons(0, 0, 1, 1)); add(text1, new MyCons(1, 0, 3, 1)); add(label2, new MyCons(0, 1, 1, 1)); add(text2, new MyCons(1, 1, 3, 1)); add(button1, new MyCons(1, 2, 1, 1)); add(button2, new MyCons(3, 2, 1, 1)); } private JLabel label1 = new JLabel("UserID:"); private JLabel label2 = new JLabel("PassWord:"); private TextField text1 = new TextField(15); private TextField text2 = new TextField(15); private JButton button1 = new JButton("Login"); private JButton button2 = new JButton("Exit"); } private static class Main extends JFrame implements ActionListener{ @Override public void actionPerformed(ActionEvent e) { if (e.getSource().equals(Item_Insert)||e.getSource().equals(button1)) { MyInsert = new Insert(); } else if (e.getSource().equals(Item_Exit)||e.getSource().equals(button2)){ this.dispose(); } } public Main() { super("Main"); setSize(400, 400); setVisible(true); init(); } private void init() { databaseInit(); installMenu(); installTollBar(); } public void databaseInit(){ try{ rs = statement.executeQuery("select * from student"); System.out.println("Success Init"); int i=0; rs.last(); data = new Object[rs.getRow()][6]; System.out.println(rs.getRow()); rs.beforeFirst(); while (rs.next()){ for(int j=0;j<6;j++){ data[i][j]=rs.getObject(j+1); //System.out.print(rs.getObject(j+1)+" "); } System.out.println(); i++; } installTable(); }catch(Exception ex){ System.out.println("Exception In databaseInit()"); } } private void installTable(){ table = new JTable(data,name); table.setBounds(0, 0, 450, 450); pane=new JScrollPane(table); add(pane); } private void installTollBar(){ toolBar = new JToolBar(); button1.addActionListener(this); button2.addActionListener(this); toolBar.add(button1); toolBar.add(button2); add(toolBar,BorderLayout.NORTH); } private void installMenu() { Mb = new JMenuBar(); sysMenu = new JMenu("System"); Item_Insert = new JMenuItem("Insert"); Item_Exit = new JMenuItem("Exit"); Item_Exit.addActionListener(this); Item_Insert.addActionListener(this); sysMenu.add(Item_Insert); sysMenu.add(Item_Exit); Mb.add(sysMenu); setJMenuBar(Mb); } private JMenuItem Item_Insert; private JMenuItem Item_Exit; private JMenuBar Mb; private JMenu sysMenu; private JPanel insertS; private JToolBar toolBar; private JButton button1 = new JButton("Ins"); private JButton button2 = new JButton("Ext"); private JTable table; private Object[][] data = {}; private String[] name = {"number","name","sex","age","brith","collage"}; JScrollPane pane = null; } private static class Insert extends JFrame implements ItemListener,ActionListener{ @Override public void itemStateChanged(ItemEvent e) { // TODO Auto-generated method stub } @Override public void actionPerformed(ActionEvent e){ String Y,M,D,T=""; CheckDate=true; if (e.getSource().equals(button1)){ String sql = "insert student values("; if (text1.getText().length()==10&&text2.getText().length()!=0){ int age=Integer.parseInt(text3.getText()); if(0<age&&age<100){ Y=text4.getText(); M=text5.getText(); D=text6.getText(); T=Y+"-"+M+"-"+D; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(true); try{ dateFormat.parse(T); }catch(Exception ex){ INData(); System.out.println("Date"); } sql+="\""+text1.getText()+"\","; sql+="\""+text2.getText()+"\","; if (box1.isSelected()) sql+="\""+"Male"+"\","; else sql+="\""+"Female"+"\","; sql+=age+","; sql+="\""+T+"\","; sql+="\""+choice.getSelectedItem()+"\");"; if (CheckDate) try{ System.out.println(sql); statement.execute(sql); MyMain.dispose(); MyMain=new Main(); this.dispose(); }catch(Exception ex){ System.out.println("Exception in Insert"); } } } else{ INData(); } } else if (e.getSource().equals(button2)){ this.dispose(); } } public Insert() { super("Insert"); setSize(300, 300); setVisible(true); init(); } private void INData(){ System.out.println("Data Exception!"); CheckDate=false; //this.dispose(); } private void init(){ setLayout(new GridBagLayout()); add(label1,new MyCons(0,0,1,1)); add(text1,new MyCons(1,0,3,1)); //--------------------------------------- add(label2,new MyCons(0,1,1,1)); add(text2,new MyCons(1,1,3,1)); //--------------------------------------- add(label3,new MyCons(0,2,1,1)); sexGroup.add(box1); sexGroup.add(box2); add(box1,new MyCons(1,2,1,1)); add(box2,new MyCons(2,2,1,1)); //--------------------------------------- add(label4,new MyCons(0,3,1,1)); add(text3,new MyCons(1,3,3,1)); //--------------------------------------- add(label5,new MyCons(0,4,1,1)); add(text4,new MyCons(1,4,2,1)); add(label7,new MyCons(3,4,1,1)); add(text5,new MyCons(5,4,1,1)); add(label8,new MyCons(6,4,1,1)); add(text6,new MyCons(7,4,1,1)); add(label9,new MyCons(8,4,1,1)); //--------------------------------------- choice.add("software1"); choice.add("software2"); choice.addItemListener(this); add(label6,new MyCons(0,5,1,1)); add(choice,new MyCons(1,5,3,1)); //--------------------------------------- button1.addActionListener(this); button2.addActionListener(this); add(button1,new MyCons(0,6,1,1)); add(button2,new MyCons(1,6,1,1)); } private JLabel label1 = new JLabel("Number:"); private JLabel label2 = new JLabel("Name:"); private JLabel label3 = new JLabel("Sex:"); private JLabel label4 = new JLabel("Age:"); private JLabel label5 = new JLabel("Brith:"); private JLabel label6 = new JLabel("College"); private JLabel label7 = new JLabel("Y"); private JLabel label8 = new JLabel("M"); private JLabel label9 = new JLabel("D"); private JTextField text1 = new JTextField(10); private JTextField text2 = new JTextField(10); private JTextField text3 = new JTextField(10); private JTextField text4 = new JTextField(5); private JTextField text5 = new JTextField(3); private JTextField text6 = new JTextField(3); private ButtonGroup sexGroup = new ButtonGroup(); private JRadioButton box1 = new JRadioButton("male",true); private JRadioButton box2 = new JRadioButton("female",false); private Choice choice = new Choice(); private JButton button1 = new JButton("Submit"); private JButton button2 = new JButton("Exit"); private boolean CheckDate; } private class MyException extends Exception{ } private static Login MyLogin; private static Main MyMain; private static Insert MyInsert; private static String driver = "com.mysql.jdbc.Driver"; private static String url = "jdbc:mysql://127.0.0.1:3306/hit"; private static String user="root"; private static String pass="nihaoa"; private static Connection conn; private static ResultSet rs; private static Statement statement; }