API使Java应用程序可以与数据库进行交互。
1.入门
2.声明
该Statement
没有缓存,适用于简单和静态的SQL语句,例如CREATE或DROP。 在Statement
,我们在SQL中构造条件或参数的方式易于进行SQL注入,请记住不要使用引号和特殊字符。
-
statement.execute(sql)
–通常用于DDL,例如CREATE或DROP -
statement.executeUpdate(sql)
–通常用于DML,例如INSERT,UPDATE,DELETE -
statement.executeQuery(sql)
–运行SELECT查询并返回ResultSet
-
statement.executeBatch()
–批量运行SQL命令
文章:
3. PreparedStatement
PreparedStatement
扩展了Statement
以通过预编译和缓存SQL语句来提供更好的性能,非常适合需要多次执行的SQL语句。 此外,它提供了许多setXxx()
来通过转义引号和特殊字符来保护SQL注入。
-
preparedStatement.execute()
-通常用于DDL,例如CREATE或DROP -
preparedStatement.executeUpdate()
–通常用于DML,例如INSERT,UPDATE,DELETE -
preparedStatement.executeQuery()
–运行SELECT查询并返回ResultSet
-
preparedStatement.executeBatch()
–批量运行SQL命令
文章:
4. CallableStatement
CallableStatement
扩展了PreparedStatement
,用于执行数据库中的存储过程或函数。
-
conn.prepareCall(sql)
Oracle数据库
PostgreSQL的
5.交易
conn.setAutoCommit(false); // default true
// start transaction block
// SQL statements
// end transaction block
conn.commit();
conn.setAutoCommit(true);
6. Spring JDBC数据库访问
JdbcTemplate
示例。
常见问题
参考文献
甲骨文
的MySQL
PostgreSQL的
标签: