(1) JDBC的思想:根据API编写的程序都可以与驱动管理器通信,而驱动管理器则可以通过驱动程序与实际数据库进行通信。
(2)
public class DataBaseConnection {
private final String DBDRIVER="oracle.jdbc.driver.OracleDriver";
private final String DBURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
private final String DBUSER="test";
private final String DBPASSWORD="test";
Connection conn=null;
public DataBaseConnection(){
try {
Class.forName(DBDRIVER);//注册驱动器类
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);//取得数据库连接
} catch (Exception e) {
e.printStackTrace();
}
}
public Connection getConnection(){
return this.conn;
}
public void close(){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
(3) executeUpdate()方法:可以执行insert,update,delete之类的操作,也可以执行create table和drop table等操作。返回受SQL命令影响的行数。
executeQuery()方法:执行select查询,返回一个ResultSet对象。
Execute()方法:可以执行任意SQL语句,通常只用于用户提供的交互式查询。
(4) ResultSet类的迭代方法与java.util.Interator的迭代方法稍微不同,对于ResultSet类,迭代器被初始化时设置在第一行位置之前,必须调用next()方法将它移到第一行 。
与数组的索引不同,数据库中的列序号是从1开始的。如果希望知道每一列的内容,可以使用访问器(accessor)方法,即get、set方法。有两种形式,一种接收数字参数,效率更高一些;一种接收字符串参数,代码更易于阅读和维护。
(5) Statement createStatement():创建一个statement对象,用以执行不带参数的SQL查询和更新。
PreparedStatement:预备语句,在预备语句中,每个宿主变量都用“?”来表示。在执行预备语句之前,必须使用setXXX方法将变量绑定到实际的值上。如果想要重用已经执行过的预备查询语句,除非使用set方法或调用clearPatameters方法,否则所有的宿主变量的绑定都不会改变。