Przejdź do głównej zawartości

Java Database Connection: JDBC and MySQL

Java Database Connection: JDBC and MySQL

JDBC - standard API allow to connect with MySQL

Java Application <--------- >JDBC <---------> Database

JDBC Architecture
  • JDBC Driver 
  • JDBC Driver Implementation
  • JDBC Driver Manager
JDBC API is definded in following packages:
  • java.sql and javax.sql

------------------------

Submitting SQL Queries  - JAVA
  1. Get a connection to database
  2. Create Statement object
  3. Execute SQL query
  4. Process Result Set

Get a connection to database

                   import java.sql.*;
                    ....
                   String dbUrl = "jdbc:mysql://localhost:3306/demo?                                                                                  autoReconnect=true&useSSL=false";
                    String user = "root";
                    String pass = "Sasanka01";
                     ....
                     Connection myConn = DriverManager.getConnection(dbUrl, user, pass);

Create Statement object 

Statement myStmt = myConn.createStatement()

Execute SQL query

                       ResultsSet myRs = myStmt.executeQuery("select * from employees");

Process Result Set
  • Result Set is initially placed before first row
  • Method: ResultSet.next()
    • moves forward one row
    • returns true if there are more rows to proces
  • Collection of methods for reading data
    • getXXX(columnName)
    • getXXX(columnIndex) one -based

while (myRs.next()) {
System.out.println(myRs.getString("last_name") + ", " + myRs.getString("first_name"));
}


Komentarze

Popularne posty z tego bloga

Skrócony zapis if - instrukcja warunkowa java

Instrukcja warunkowa - warunek i rezultat. if (warunek) { jesli spełniony wykonań operacje i zwróć wynik; } warunek nie spełniony Możliwości skrócenia kodu instrukcji warunkowej if (i < 0) ? i-- : i++; Jeżeli i mniejsze od zera to i-- jezeli false to i++ if (i < 0) {     i--; } else {     i++; } Skrócony zapis instrukcji warunkowej else if (i < 0) ? i--;  inna_zmienna=4; : i++; if (i < 0) {     i--; } else {     i++;     inna_zmienna = 4; } Skrócony zapis if

String-1 > withouEnd2

Given a string, return a version without both the first and last char of the string. The string may be any length, including 0. withouEnd2("Hello") → "ell" withouEnd2("abc") → "b" withouEnd2("ab") → "" public String withouEnd2 ( String str ) { if ( str . length ()== 1 ){ return str . substring ( 1 ); } else if ( str . length ()== 0 ){ return str ; } return ( str . substring ( 1 , str . length ()- 1 )); }

String-2 > xyzThere - java

Return true if the given string contains an appearance of "xyz" where the xyz is not directly preceeded by a period (.). So "xxyz" counts but "x.xyz" does not.  xyzThere("abcxyz") → true xyzThere("abc.xyz") → false xyzThere("xyz.abc") → true Definiujemy loop ktory sprawdza za kazdym podejsciem czy kolejne indexy i,i+1 oraz i+2 i zdefiniowane dla nich char.  Nalezy tu pamietac ze jesli sprawdamy po indeksach np i+2 to tzreba zostawic "miejsce" na koncu aby nie bylo outOfBoudnExeption tj przekroczenia rlugosci stringa. Jezeli pierwszy warunek jest spelniony tj mamy na kolejnych indexach interesujace nas char-y sprawdzamy czy na poprzedzajacych nasza trojkę indexach pojawia sie "." zaczynamy od indexu 0 - tzreba to uwzglednić w warunku tj albo index 0 == 0 lub i-1 == 0 public boolean xyzThere ( String str ) { int len = str . length () - 2 ; for ( int i = 0 ; i < len ; i...