Wymagania wstępne:

  1. Masz utworzony folder C:/Przykłady
  2. Jeśli działasz z linii poleceń utworzyłeś ścieżkę CLASSPATH lub MODULEPATH prowadzące do plików *.jar Apache Derby
  3. 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 fourthtable (id INT PRIMARY KEY, name VARCHAR (30))";
11       private static final String insertData = "INSERT INTO fourthtable VALUES(1, 'Mirka'),(2, 'Ula'),(3, 'Jacek')";
12       private static final String selectData1 = "SELECT * FROM fourthtable";
13       private static final String selectData2 = "SELECT * FROM fourthtable WHERE id=2";
14   
15       public static void main(String[] args) {
16           DerbyUtil.startDerbyNetworkServer(DerbyUtil.lhost, DerbyUtil.port);
17           DerbyUtil.startDerbyEngine(DerbyUtil.clidriver);
18           Connection conn = DerbyUtil.connectServerDB(baza, "localhost", "1527",
19                   properties);
20           Statement stat1 = null;
21           Statement stat2 = null;
22           Statement stat3 = null;
23           Statement stat4 = null;
24           ResultSet rs1 = null;
25           ResultSet rs2 = null;
26           try {
27               stat1 = conn.createStatement();
28               stat1.execute(createTable);
29               stat2 = conn.createStatement();
30               stat2.execute(insertData);
31               stat3 = conn.createStatement();
32               rs1 = stat3.executeQuery(selectData1);
33               while (rs1.next()) {
34                   System.out.println(rs1.getInt(1) + " | " + rs1.getString(2));
35               }
36               stat4 = conn.createStatement();
37               rs2 = stat4.executeQuery(selectData2);
38               while (rs2.next()) {
39                   System.out.println(rs2.getInt(1) + " | " + rs2.getString(2));
40               }
41           } catch (SQLException e) {
42               e.printStackTrace();
43           }
44   
45           DerbyUtil.close(rs1);
46           DerbyUtil.close(rs2);
47           DerbyUtil.close(stat1);
48           DerbyUtil.close(stat2);
49           DerbyUtil.close(stat3);
50           DerbyUtil.close(stat4);
51           DerbyUtil.close(conn);
52           DerbyUtil.shutdownDerbyNetworkServer();
53       }
54   }
55   

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 ,span class=”path”>fourthdb.

1 | Mirka
2 | Ula
3 | Jacek
2 | Ula

Pliki do ściągniecia

Klasa R016.java.
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 wszyskich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *