Permalink
Browse files

Hudoba Péter észrevételei

  • Loading branch information...
1 parent 63a0860 commit e9e33718aeb93fc4229e5e36221164bbe5a6a861 @rlegendi committed Apr 23, 2012
Showing with 30 additions and 10 deletions.
  1. +26 −10 17-jdbc/17-jdbc.md
  2. +1 −0 README.md
  3. +3 −0 todo.md
View
@@ -70,6 +70,9 @@ Connection dbConnection = null;
String strUrl = "jdbc:derby:DefaultAddressBook;user=dbuser;password=dbuserpwd";
try {
dbConnection = DriverManager.getConnection(strUrl);
+
+ // ...
+
} catch (SQLException e) {
e.printStackTrace();
}
@@ -85,15 +88,21 @@ String strUrl = "jdbc:derby:DefaultAddressBook";
Properties props = new Properties();
props.put("user", "dbuser");
props.put("password", "dbuserpwd");
+
try {
dbConnection = DriverManager.getConnection(strUrl, props);
+
+ // ...
+
} catch(SQLException sqle) {
sqle.printStackTrace();
}
```
Hova kerül a DB? A `derby.system.home` system property által beállított érték
-határozza meg. Ezt vagy kódból lehet beállítani:
+határozza meg. Ezt vagy kódból lehet beállítani (**fontos**, hogy a `Driver`
+**betöltése előtt** tegyük ezt meg, különben a derby az aktuális könyvtárba
+szemetel):
``` java
System.setProperty("derby.system.home", "/tmp");
@@ -133,20 +142,20 @@ Három lehetőség:
konkatenációt elhagytam):
``` java
- String strCreateTable = "CREATE TABLE inventory
- (
- id INT PRIMARY KEY,
- product VARCHAR(50),
- quantity INT,
- price DECIMAL
- )";
+ String strCreateTable = "CREATE TABLE inventory" +
+ "(" +
+ "id INT PRIMARY KEY," +
+ "product VARCHAR(50)," +
+ "quantity INT," +
+ "price DECIMAL" +
+ ")";
- statement = dbConnection.createStatement();
+ Statement statement = dbConnection.createStatement();
statement.execute(strCreateTable);
```
* `executeQuery(String)`: lekérdezéshez, az eredmény egy `ResultSet` objektum
- lesz. %Mindig olvassátok végig az eredményt, mert addig nem záródik. Pl.:
+ lesz. *Mindig olvassátok végig az eredményt, mert addig nem záródik.* Pl.:
``` java
ResultSet rs = statement.executeQuery("SELECT * FROM inventory");
@@ -165,6 +174,13 @@ Három lehetőség:
statement.executeUpdate("DELETE WHERE id=0");
```
+> **Megjegyzés** A Java 7 óta viszonylag egyszerűbb a kezelés, automatikusan
+> lezárható (részletesen a [kiegészítő anyagban](https://github.com/rlegendi/ELTE-javagyak/blob/master/I-java-1.7/try-with-resources.md)):
+>
+> try ( Statement stmt = con.createStatement() ) {
+> ...
+> }
+
## Kötegelt végrehajtás ##
Van rá lehetőség, hogy parancsokat összefogjunk, és egyszerre küldjünk el a
szervernek feldolgozásra, így sok kis adatmódosító utasítás gyorsabban lefuthat,
View
@@ -37,4 +37,5 @@ segítsége nélkül (nagyjából időrendben):
#### Corrections & Errata ####
* [Nádai Levente](mailto:nnlete@gmail.com) (2011-2012-II)
+* [Hudoba Péter](mailto:hudi1989@gmail.com) (2011-2012-II)
View
@@ -113,6 +113,9 @@ kivételkezelést, konstruktorokat
### 12-gui-alapok ###
* Tic-Tac-Toe feladat (régen volt?)
+### JDBC ###
+* Jó lenne 2 egyszerű példa: egy inicializáló alkalmazás (feltölt egy DB-t adattal, etc.), illetve egy lekérdező alkalmazás (az meg kapcsolódhatna a már létrehozott DB-hez, és lekérdezhetne). A `shutdown=true` már kiszedhető, nem kell az új változatokban.
+
### D-assert ###
* DbC szekciót kiegészíteni

0 comments on commit e9e3371

Please sign in to comment.