1. 使用JDBC 连接数据库(以连接Oracle 数据库为例)
Class.forName("oracle.jdbc.driver.OracleDriver");
//注册驱动程序 Class.forName(String driverClassName);
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott“, "tiger");
//建立到数据库的连接 DriverManager.getConnection(String url, String username, String password);
//orcl为数据库实例名
2. 常用JDBC 对象
Statement 对象
Statement stmt = conn.createStatement();
//获得Statement 对象之后,可以使用 executeQuery(String sql), executeUpdate(String sql), execute(String sql) 等方法来执行SQL
//sql 为执行的SQL 语句
//建议使用PreparedStatement对象,可防止SQL 注入
PreparedStatement 对象
PreparedStatement ps = conn.prepareStatement(String sql);
//sql 为待执行的SQL 语句
//获得PreparedStatement 对象之后,可以使用 executeQuery(), executeUpdate(), execute() 等方法来执行SQL
//executeQuery() 方法
//主要用来执行 SELECT 语句, 方法的返回值为ResultSet 类型的对象
//executeUpdate() 方法
//主要用来执行 INSERT, UPDATE, DELETE (方法返回的int 类型值为影响行数,需要使用commit 或rollback 命令显示提交或回滚)
//或CREATE, DROP, ALTER (方法返回的int 类型值为0 时表示运行成功)
//等会改变数据库内容的SQL
//execute() 方法
//所有的SQL语句都可以通过该方法发送,该方法的返回值为boolean 类型,如果发送的是查询语句则返回值为true,否则false
CallableStatement 对象
CallableStatement 是一个用于执行SQL 存储过程和函数的接口,该接口扩展了PreparedStatement
ResultSet 对象
略。。
批处理
addBatch(String sql) 方法
executeBatch() 方法
3. JDBC 的事务
conn.setAutoCommit(false);
//关闭自动提交
conn.rollback();
//回滚
conn.commit();
//提交