Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Informatyka Stosowana – ROK II / III
PROGRAMOWANIE W JAVA Informatyka Stosowana – ROK II / III Laboratoria mgr inż. Krzysztof Bzowski
2
Informacje wstępne Zarządzanie bazą danych (interfejs www)
Adres serwera MySQL (do połącznia z JAVY lub innego narzędzia bazodanowego) Adres: kisim-vm.no-ip.eu port:14954 Nazwa bazy danych jest taka sama jak nazwa użytkownika Biblioteka dla połączeń MySQL: Instalator: Sama Biblioteka:
3
Bazy danych - wstęp Relacyjne bazy danych zbudowane są z tabel oraz relacji. Tabela przechowuje dane w rekordach. Relacja określa zależności pomiędzy tabelami. Tabelę w bazie danych można utożsamiać z tabelą w aplikacji Excell, gdzie każda kolumna przechowuje pewny typ danych, a każdy wiersz stanowi jeden rekord (konkretne dane). Id Imie Nazwisko Ocena 1. Jan Kowalski 4.5 2. Damian Krakowski 5.0 3. Anna Małopolska
4
Bazy danych - wstęp Każda kolumna w tabeli może przechowywać dane określonego typu. Każda tabela powinna zawierać klucz podstawowy. INT Dane liczbowe FLOAT DOUBLE VARCHAR(X) Tekst długości X TEXT Tekst dowolnej długości DATETIME Data i czas BOOLEAN Wartość logiczna
5
Bazy danych - SQL Do operacji na bazie danych służy specjalny język SQL (Structured Query Language) przypominający język rzeczywisty.
6
Bazy Danych SQL Dodawanie Pobieranie
7
Bazy Danych SQL Pobieranie danych
8
Bazy Danych SQL Usuwanie Aktualizcja
9
Bazy danych – JAVA - Połączenie
public static Connection getConnection() throws SQLException { String host = "mysql://kisim-vm.no-ip.eu:14954"; String db = "java_is3"; String connectionString = "jdbc:" + host + "/" + db; String username = "java_is3"; String password = "java_is3"; Connection conn = DriverManager.getConnection(connectionString, username, password); return conn; }
10
Bazy danych – JAVA - INSERT
public static int insert(Connection conn, String imie, String nazwisko, float ocena) throws SQLException{ if (conn.isValid(10)) { PreparedStatement stmt = conn.prepareStatement("INSERT INTO `Uczniowie` (`Imie`, `Nazwisko`, `Ocena`) VALUES (?, ?, ?)"); stmt.setString(1, imie); stmt.setString(2, nazwisko); stmt.setFloat(3, ocena); int rows = stmt.executeUpdate(); return rows; } return 0;
11
Bazy danych – JAVA - SELECT
public static void selectAll(Connection conn) throws SQLException{ if (conn.isValid(10)) { Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM `Uczniowie`"); while (rs.next()) { int id = rs.getInt("id"); String imie = rs.getString("Imie"); String nazwisko = rs.getString("Nazwisko"); float ocena = rs.getFloat("Ocena"); System.out.printf("%d\t%s %s\t %.1f\n", id, imie, nazwisko, ocena); }
12
Pobranie identyfikatorów dodanych obiektów
public static int insert(Connection conn, String imie, String nazwisko, float ocena) throws SQLException{ if (conn.isValid(10)) { PreparedStatement stmt = conn.prepareStatement("INSERT INTO `Uczniowie` (`Imie`, `Nazwisko`, `Ocena`) VALUES (?, ?, ?)", PreparedStatement.RETURN_GENERATED_KEYS); stmt.setString(1, imie); stmt.setString(2, nazwisko); stmt.setFloat(3, ocena); int rows = stmt.executeUpdate(); ResultSet keyResultSet = stmt.getGeneratedKeys(); if (keyResultSet.next()) { int noweId = (int) keyResultSet.getInt(1); System.out.printf("Rekord dostal id: %d", noweId); return noweId; } return 0;
13
printf i zmienne float Domyślne zmienne środowiskowe ustawień regionalnych, spowodują, że: System.out.printf("%f", 0.5f); // 0,5 Locale.setDefault(Locale.US); // raz na początku funkcji main System.out.printf("%f", 0.5f); // 0.5
14
Stworzyć bazę danych samochodów.
Bazy danych Stworzyć bazę danych samochodów. Tabela samochód powinna zawierać następujące pola: Marka (string) Model (string) Rok produkcji (int) Przebieg (float) Powypadkowy (boolean)
15
Bazy danych - interfejs
Stworzyć klasę samochód oraz metody pozwalające na zapis do bazy, odczyt, edycję, wypisywanie elementów spełniających kryteria: Rok produkcji – od/do Przebieg – od/do Powypadkowy – prawda/fałsz Stworzyć interfejs użytkownika w wybranej technologii.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.