-
Notifications
You must be signed in to change notification settings - Fork 0
/
DatabaseManager.java
56 lines (52 loc) · 2.83 KB
/
DatabaseManager.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package org.example;
import java.sql.*;
public class DatabaseManager {
public static void getData() throws SQLException {
/*
Prvním krokem je vytvoření připojení. Deklarace připojení je pomocí Connection a konkrétně ho vytváříme pomocí DriverManager.getConnection()
Příkaz pro připojení je nutno si pamatovat!
jdbc:mysql://adresa_serveru:port_serveru/nazev_databaze
user: přihlašovací jméno, v xamppu root
password: heslo, v xamppu není nastaveno
*/
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/database","root","");
/*
Pro vykonání příkazu potřebujeme vytvořit PreparedStatement
V inicializaci použijeme vytvořeme připojení a připravíme statement
Do závorky píšeme SQL příkaz
*/
PreparedStatement statement = c.prepareStatement("SELECT * FROM tableName");
/*
Pokud používáme příkaz, který nám vrací nějaký data, potřebujeme použít ResultSet, abychom mohli s těmito daty pracovat
Ze statementu vyvoláme executeQuery()
*/
ResultSet set = statement.executeQuery();
/*
V případě ResultSetu vytvoříme while s podmínkou set.next(), který nejen kontroluje, zda tato kolekce má nějaká další data, ale zároveň se aktuálně používaná data posouvají
*/
while (set.next()) {
/*
Z ResultSetu můžeme používat celou řadu metod pro získání konkrétní hodnoty
Do závorek píšeme název sloupce databáze
*/
System.out.println(set.getString("column1"));
System.out.println(set.getInt("column2"));
System.out.println(set.getString("column3"));
}
}
public static void setData(String val1, int val2, String val3) throws SQLException{
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "root", "");
/*
Pokud do příkazu dosazujeme konkrétní data, nedáváme je přímo do prepareStatement, ale nahradíme daná místa otazníky a konkrétní hodnoty dosadíme na dalších řádcích
! Pokud nechceme za nějaké sloupce dosazovat hodnoty (standartně za ID), upravíme příkaz následovně: INSERT INTO tableName (column1, column2, column3) VALUES (?,?,?) !
*/
PreparedStatement statement = c.prepareStatement("INSERT INTO tableName VALUES (?,?,?)");
/*
Pomocí metod setString, setInt, ... dosazujeme konkrétní hodnoty za otazníky v příkazu. Indexace od 1
*/
statement.setString(1, val1);
statement.setInt(2, val2);
statement.setString(3, val3);
statement.execute(); //Nevracíme žádná data, se kterýma chceme pracovat, proto dáme pouze execute
}
}