Java Database Connectivity: Porovnání verzí

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 24 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q722772)
Hartrik (diskuse | příspěvky)
m Formátování zdrojových kódů
Řádek 69:
Metoda [http://download.oracle.com/javase/6/docs/api/java/lang/Class.html#forName(java.lang.String) Class.forName(String)] se používá k načtení třídy JDBC driver. Řádka kódu dole znázorňuje načtení JDBC driveru od jistého poskytovatele (some jdbs vendor). Některé JVM také požadují, aby byla příslušná třída zavedena pomocí metody [http://download.oracle.com/javase/6/docs/api/java/lang/Class.html#newInstance() .newInstance()].
 
<source lang=java5"java">
Class.forName( "com.somejdbcvendor.TheirJdbcDriver" );
</source>
 
<source lang="java">
public void connect() throws DriverNotFoundException, ConnectionFailedException {
try {
Class.forName(jdbcDriver);
connection = DriverManager.getConnection(dbURI, user, passwd);
} catch (ClassNotFoundException e) {
throw new DriverNotFoundException(e.getMessage());
} catch (SQLException e) {
throw new ConnectionFailedException(e.getMessage());
}
}
}
</source>
Řádek 89:
<source lang="java">
public void disconnect() throws DisconnectFailedException {
try {
connection.close();
} catch (SQLException e) {
throw new DisconnectFailedException(e.getMessage());
}
}
}
</source>
Řádek 102:
 
Nyní, když je třeba vytvořit JDBC připojení, použijeme jednu z metod <code>DriverManager.getConnection()</code>.
<source lang=java5"java">
Connection conn = DriverManager.getConnection(
"jdbc:somejdbcvendor:other data needed by some jdbc vendor",
"myLogin",
"myPassword" );
try {
/* you use the connection here */
} finally {
//It's important to close the connection when you are done with it
try {
try { conn.close(); } catch (Throwable ignore) { /* Propagate the original exception
conn.close();
instead of this one that you may want just logged */ }
} catch (Throwable ignore) {
/* Propagate the original exception instead of this one that you may want just logged */ }
}
}
</source>
Řádek 120 ⟶ 123:
Statement stmt = conn.createStatement();
try {
stmt.executeUpdate( "INSERT INTO MyTable( name ) VALUES ( 'my name' ) " );
} finally {
//It's important to close the statement when you are done with it
try {
try { stmt.close(); } catch (Throwable ignore) { /* Propagate the original exception
stmt.close();
instead of this one that you may want just logged */ }
} catch (Throwable ignore) {
/* Propagate the original exception instead of this one that you may want just logged */ }
}
}
</source>
Řádek 131 ⟶ 137:
 
Data jsou získána z databáze použitím databázového mechanizmu dotazů. Na následujícím příkladu je znázorněno vytvoření příkazu (Statement) a vykonání příslušného dotazu.
 
<source lang=java5"java">
Statement stmt = conn.createStatement();
try {
ResultSet rs = stmt.executeQuery( "SELECT * FROM MyTable" );
try {
while ( rs.next() ) {
int numColumns = rs.getMetaData().getColumnCount();
for ( int i = 1 ; i <= numColumns ; i++ ) {
// Column numbers start at 1.
// Also there are many methods on the result set to return
// the column as a particular type. Refer to the Sun documentation
// for the list of valid conversions.
System.out.println( "COLUMN " + i + " = " + rs.getObject(i) );
}
}
Řádek 159 ⟶ 166:
 
Příklad [[Databázová transakce|databázové transakce]]:
<source lang=java5"java">
boolean autoCommitDefault = conn.getAutoCommit();
try {