Apache Derby – server – szybki start
Wymagania wstępne:
- Masz utworzony folder C:/Przykłady
- Jeśli działasz z linii poleceń utworzyłeś ścieżkę CLASSPATH lub MODULEPATH prowadzące do plików *.jar Apache Derby
- Jeżeli programujesz w IDE masz dodaną bibliotekę Apache Derby do projektu
Klasy
Klasa R016.java
1 package aderby.start; 2 3 import aderby.DerbyUtil; 4 5 import java.sql.*; 6 7 public class R016 { 8 private static final String baza = "c:\\Przyklady\\fourthdb"; 9 private static final String properties = "create=true"; 10 private static final String createTable = "CREATE TABLE " + 11 "fourthtable (id INT PRIMARY KEY, name VARCHAR (30))"; 12 private static final String insertData = "INSERT INTO " + 13 "fourthtable VALUES(1, 'Mirka'),(2, 'Ula'),(3, 'Jacek')"; 14 private static final String selectData1 = "SELECT * FROM " + 15 "fourthtable"; 16 private static final String selectData2 = "SELECT * FROM " + 17 "fourthtable WHERE id=2"; 18 19 public static void main(String[] args) { 20 DerbyUtil.startDerbyNetworkServer(DerbyUtil.lhost, 21 DerbyUtil.port); 22 DerbyUtil.startDerbyEngine(DerbyUtil.clidriver); 23 Connection conn = DerbyUtil.connectServerDB(baza, 24 "localhost", "1527", properties); 25 Statement stat1 = null; 26 Statement stat2 = null; 27 Statement stat3 = null; 28 Statement stat4 = null; 29 ResultSet rs1 = null; 30 ResultSet rs2 = null; 31 try { 32 stat1 = conn.createStatement(); 33 stat1.execute(createTable); 34 stat2 = conn.createStatement(); 35 stat2.execute(insertData); 36 stat3 = conn.createStatement(); 37 rs1 = stat3.executeQuery(selectData1); 38 while (rs1.next()) { 39 System.out.println(rs1.getInt(1) + " | " 40 + rs1.getString(2)); 41 } 42 stat4 = conn.createStatement(); 43 rs2 = stat4.executeQuery(selectData2); 44 while (rs2.next()) { 45 System.out.println(rs2.getInt(1) + " | " 46 + rs2.getString(2)); 47 } 48 } catch (SQLException e) { 49 e.printStackTrace(); 50 } 51 DerbyUtil.close(rs1); 52 DerbyUtil.close(rs2); 53 DerbyUtil.close(stat1); 54 DerbyUtil.close(stat2); 55 DerbyUtil.close(stat3); 56 DerbyUtil.close(stat4); 57 DerbyUtil.close(conn); 58 DerbyUtil.shutdownDerbyNetworkServer(); 59 } 60 } 61
Klasa R016.java niewiele rózni się od klasy R007.java z poprzedniego przykładu.
Ad. 16. Uruchamia Apache Derby Network Server (sieciowy) na domyślnym porcie localhosta.
Ad. 18. Łączy z bazą poprzez serwer.
Ad. 19 – 51 są identyczne jak przy uruchamianiu osadzonej bazy danych.
Ad. 52. Zatrzymuje serwer sieciowy.
Wynik
Po uruchomieniu kodu na konsoli zobaczymy wyniki identyczne jak poprzednio, a w folderze C:/Przykłady
pojawi sie folder bazy danych fourthdb.
1 | Mirka 2 | Ula 3 | Jacek 2 | Ula
Pliki do ściągnięcia
Aktualny (tworzony narastająco) plik module-info.java
Aktualny (tworzony narastająco) plik DerbyUtil.java
Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java
może być potrzebne skreślenie niepotrzebnych wpisów.