记一次java连接远程mysql数据库

用java连接远程数据库,写一个小java gui程序,写一张小表 student(number,name,sex),可以写入数据,删除数据,查询数据

主要代码:

 1 public class TestSqlOnFrame {  2 public static void main(String[] args) {  3 frame frameOne=new frame();  4  frameOne.main();  5  }  6 }  7  8 class frame extends Frame{  9 //新建组件 10 Frame frameone=new Frame("my java gui");  11  12 TextField textOne=new TextField(5);  13 TextField textTwo=new TextField(5);  14 TextField textThree=new TextField(5);  15  16 Label labelOne=new Label("number");  17 Label labelTwo=new Label("name");  18 Label labelThree=new Label("sex");  19  20 Button buttonOne=new Button("set");  21 Button buttonTwo=new Button("search");  22 Button buttonThree=new Button("delete");  23 Label labelForInformation=new Label();  24 Font fconsole=new Font("Console", 0, 20);  25  26 public void main() {  27 //组件属性 28 frameone.setLayout(new GridLayout(4,3));  29 frameone.setSize(600,300);  30 frameone.setLocation(300,300);  31  frameone.setFont(fconsole);  32 //组件监听器 33 frameone.addWindowListener(new HandleWidows());  34 buttonOne.addActionListener(new HandleButton());  35 buttonTwo.addActionListener(new HandleButton());  36 buttonThree.addActionListener(new HandleButton());  37 //在框架里加入组件 38  frameone.add(labelOne);  39  frameone.add(labelTwo);  40  frameone.add(labelThree);  41  frameone.add(textOne);  42  frameone.add(textTwo);  43  frameone.add(textThree);  44  frameone.add(buttonOne);  45  frameone.add(buttonTwo);  46  frameone.add(buttonThree);  47  frameone.add(labelForInformation);  48 frameone.add(new Label());  49 frameone.add(new Label());  50 frameone.setVisible(true);  51  52  }  53 //内部类监听动作 54 class HandleButton implements ActionListener{  55 public void actionPerformed(ActionEvent e) {  56 try {  57 //新建驱动,注册驱动 58 com.mysql.jdbc.Driver driverOne=new com.mysql.jdbc.Driver();  59  DriverManager.registerDriver(driverOne);  60 //连接的三个参数,建立连接 61 String url="JDBC:Mysql://你的数据库服务器ip地址:3306/你的数据库名";  62 String name="你的用户名";  63 String password="你的密码";  64 Connection conn=DriverManager.getConnection(url,name,password);  65 //建立sql信使: 66 Statement st=(Statement) conn.createStatement();  67 String sql="";  68 //resultset用来接收查询 69  ResultSet rs;  70 //按钮动作,分别是insert select delete 71 if (e.getSource()==buttonOne) {  72 //add to database 73 String numberWillBeAdded=textOne.getText();  74 sql="insert into student values("+textOne.getText()  75 +",\‘"+textTwo.getText()+"\‘" 76 +",\‘"+textThree.getText()  77 +"\‘);";  78  System.out.println(sql);  79  st.executeUpdate(sql);  80 labelForInformation.setText(numberWillBeAdded+" added");  81  }  82 if (e.getSource()==buttonTwo) {  83 //search 84 sql="select * from student where number" 85 +"="+textOne.getText()+";";  86 rs=st.executeQuery(sql);  87  System.out.println(sql);  88 if (rs.next() == true) {  89 labelForInformation.setText("find it!");  90 }else{  91 labelForInformation.setText("fail to find it");  92  }  93 textTwo.setText("");  94 textThree.setText("");  95 textTwo.setText(rs.getString("name"));  96 textThree.setText(rs.getString("sex"));  97  }  98 if (e.getSource()==buttonThree) {  99 //delete100 String numberWillBeDeteled=textOne.getText(); 101 sql="delete from student where number="102 +textOne.getText()+";"; 103  st.executeUpdate(sql); 104 labelForInformation.setText(numberWillBeDeteled+" deleted"); 105  } 106 } catch (SQLException e1) { 107 // TODO: handle exception108  } 109  } 110  } 111 class HandleWidows extends WindowAdapter{ 112 public void windowClosing(WindowEvent e) { 113 System.exit(0); 114  } 115  } 116 117 }

当然,记得下好mysql的驱动然后加入build path

 

相关文章