Jaava ühendamine Mysql andmebaasiga

Allikas: Teadmusbaas

Java rakenduse loomine

Niisiis, esimene asi, mida ma vaja teha, oli luua Java projekti. Mulle NetBeansin ja Eclipse on rohkem või vähem sama. Igatahes ma läksin NetBeansin. Niisiis, esimene samm oleks luua Java projekti.

A

Veenduge, kui sisestad projekti nimi, jätad võimalust luua Põhiklass projekti. See võimaldab teil valida Põhiklass projekti käigus hoone projekti.
















Jframe lisamine

Java rakendused töötavad üldiselt kasutades JFrames. Niisiis, lähtepaketist oma kausta luua JFrame vorm, millest saab sisäänkirjautumislomake selles demonstratsioon.

A

Lisades JFrame, et projekti Kui olete loonud JFrame vormi (näiteks login.java), siis lisage hoos komponendid valideerimise kasutajanime ja parooli.












Loo GUI

Saate luua väga lihtne GUI Sisselogimisekraanil oma projekti, nagu ma olen teinud allpool.

A











MySqli ühenduse testimine



Kui olete loonud graafilise ainus asi vasakule teeb andmebaasi ühendus. Aga enne andmebaasi ühendus, saate ühenduse testimiseks. Ja et sa ei pea kirjutama mingi koodi. Netbeans juba MySQL Connector paigaldatud. See on vaid JAR faili, mis võimaldab oma taotluse ühendada MySQL andmebaasi. Eclipse aga siis oleks vaja lisada välise jar. Aga veenduge, et teil on MySQL server on paigaldatud enne seda. Võite põhimõtteliselt luua andmebaas ja tabelid varem (mida ma eelistan). Üks põhjus, miks mulle ei meeldi luua andmebaase ja tabeleid ajal runtime on, sest sa ei ole täielikku kontrolli selle üle. Kunagi ei tea, kui palju neid on loodava ja enne sa tead seda, siis on kasutatud palju tarbetuid ruumi. Samuti võib andmete koondamist, mis sa ei taha. Näiteks see, mida ma olen teinud siin on loodud andmebaasi nimi "javademo" ja lisatakse tabeli tuntud kui "login", mis on 2 veerus "kasutajanimi" ja "parool", mis mõlemad on väärtused "admin".

A














Andmebaas ja tabel loomine MySQL Nüüd mine Teenused ja draiverid osas leiad MySQL Connector valik. Paremklõps ja kliki "ühendada, kasutades".

A















Koodi kirjutamine

Kuna ühenduse loomine õnnestus, nüüd saame kirjutada kood. Aga enne seda on vaja lisada MySQL pesa raamatukogu projekti [vaata pilti allpool]. Projektis näed "Raamatukogud" variant. Paremklõps ja valige "Lisa Raamatukogu". Saad nimekiri kõikidest raamatukogudest netbeans on. Valige "MySQL JDBC draiver" nimekirjast.

A

Lisades JDBC draiver Sest lihtne sisselogimisekraan niimoodi, me põhimõtteliselt on kirjutada väga väike ja väga lihtne koodi. Component tark siin on, mida ma varem - JTextField kasutajanime - jTextField1 JPasswordField parooli - jPasswordField1 Esitada nupp - jButton1 Tühistamisnupp - jButton2 Iga sündmus toimub pressi ükskõik millist nuppu. Esiteks nuppu Esita mis kinnitab Sisene salvestatud andmeid MySQL andmebaasi. Niisiis, topeltklõps nuppu ja netbeans viib teid otse koodi.









private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

  if(jTextField1.getText().length()==0)  // Checking for empty field
     JOptionPane.showMessageDialog(null, "Empty fields detected ! Please fill up all fields");
  else if(jPasswordField1.getPassword().length==0)  // Checking for empty field
     JOptionPane.showMessageDialog(null, "Empty fields detected ! Please fill up all fields");
  else{
      String user = jTextField1.getText();   // Collecting the input
      char[] pass = jPasswordField1.getPassword(); // Collecting the input
      String pwd = String.copyValueOf(pass);  // converting from array to string
      if(validate_login(user,pwd))
         JOptionPane.showMessageDialog(null, "Correct Login Credentials");        
      else
         JOptionPane.showMessageDialog(null, "Incorrect Login Credentials");
  }        

} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

  if(jTextField1.getText().length()==0)  // Checking for empty field
     JOptionPane.showMessageDialog(null, "Empty fields detected ! Please fill up all fields");
  else if(jPasswordField1.getPassword().length==0)  // Checking for empty field
     JOptionPane.showMessageDialog(null, "Empty fields detected ! Please fill up all fields");
  else{
      String user = jTextField1.getText();   // Collecting the input
      char[] pass = jPasswordField1.getPassword(); // Collecting the input
      String pwd = String.copyValueOf(pass);  // converting from array to string
      if(validate_login(user,pwd))
         JOptionPane.showMessageDialog(null, "Correct Login Credentials");        
      else
         JOptionPane.showMessageDialog(null, "Incorrect Login Credentials");
  }        

} Ma olen ka kasutades kohandatud funktsiooni, mis kinnitab kasutajanime.

private boolean validate_login(String username,String password) {

  try{           
      Class.forName("com.mysql.jdbc.Driver");  // MySQL database connection
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo?" + "user=root&password=");     
      PreparedStatement pst = conn.prepareStatement("Select * from login where username=? and password=?");
      pst.setString(1, username); 
      pst.setString(2, password);
      ResultSet rs = pst.executeQuery();                        
      if(rs.next())            
          return true;    
      else
          return false;            
  }
  catch(Exception e){
      e.printStackTrace();
      return false;
  }       

} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 private boolean validate_login(String username,String password) {

  try{           
      Class.forName("com.mysql.jdbc.Driver");  // MySQL database connection
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo?" + "user=root&password=");     
      PreparedStatement pst = conn.prepareStatement("Select * from login where username=? and password=?");
      pst.setString(1, username); 
      pst.setString(2, password);
      ResultSet rs = pst.executeQuery();                        
      if(rs.next())            
          return true;    
      else
          return false;            
  }
  catch(Exception e){
      e.printStackTrace();
      return false;
  }       

} Võite lisada ka koodi tühistamiseks nuppu, mis sulgeb nuppu, kui keegi vajutab ta.

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

   System.exit(0);

} 1 2 3 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

   System.exit(0);

} lõpptoodangu

Nii, nüüd saab käivitada oma projekt. Kui väli on tühi, kui esitada vajutamist näitab see sõnum. Ja see näitab ka sõnumeid nii õige ja vale valideerimist.

A














Villem Ausmees (arutelu) 8. november 2016, kell 12:10 (EET)

Viide