Tutoriels Java JDBC
L'APIJava Database Connectivity (JDBC) permet à l'application Java d'interagir avec la base de données.
1. Commencer
2. Déclaration
CeStatement
n'a pas de cache, bon pour les instructions SQL simples et statiques comme CREATE ou DROP. DansStatement
, la façon dont nous construisons la condition ou les paramètres en SQL est sujette à l'injection SQL, n'oubliez pas d'échapper les guillemets et les caractères spéciaux.
-
statement.execute(sql)
- Normalement pour DDL comme CREATE ou DROP -
statement.executeUpdate(sql)
- Normalement pour DML comme INSERT, UPDATE, DELETE -
statement.executeQuery(sql)
- Exécute la requête SELECT et renvoie unResultSet
-
statement.executeBatch()
- Exécute les commandes SQL en tant que lot
Des articles:
3. Affirmation préparée
PreparedStatement
étendStatement
pour fournir de meilleures performances en précompilant et en mettant en cache l'instruction SQL, idéale pour les instructions SQL qui doivent s'exécuter plusieurs fois. De plus, il fournit de nombreuxsetXxx()
pour protéger l'injection SQL en échappant les guillemets et les caractères spéciaux.
-
preparedStatement.execute()
- Normalement pour DDL comme CREATE ou DROP -
preparedStatement.executeUpdate()
- Normalement pour DML comme INSERT, UPDATE, DELETE -
preparedStatement.executeQuery()
- Exécute la requête SELECT et renvoie unResultSet
-
preparedStatement.executeBatch()
- Exécute les commandes SQL en tant que lot
Des articles:
4. CallableStatement
CallableStatement
étendPreparedStatement
, pour exécuter des procédures stockées ou des fonctions à partir de la base de données.
-
conn.prepareCall(sql)
Base de données Oracle
PostgreSQL
5. Transaction
conn.setAutoCommit(false); // default true // start transaction block // SQL statements // end transaction block conn.commit(); conn.setAutoCommit(true);
6. Accès à la base de données JDBC Spring
Exemples deJdbcTemplate
.
FAQs
-
Comment ajouter le pilote Oracle JDBC dans votre référentiel local Maven
-
JDBC - Comment imprimer tous les noms de table à partir d'une base de données?
-
java.sql.SQLException: operation not allowed: Ordinal binding and Named binding cannot be combined!
-
java.sql.SQLException: The server time zone value ‘xx time’ is unrecognized
Références
Oracle
MySQL
PostgreSQL