JDBC API主要可以完成三件事:1.与数据库建立连接,2.发送SQL语句,3.返回处理结果
JDBC API中的常用接口和类:
DriverManager类:
根据不同的数据库,管理相应的JDBC驱动。可以通过DriverManager类的getConnection()方法获取数据库连接Connection对象
Connection接口:
由DriverManager产生,用于连接数据库并传递数据。
该对象常用的方法:
Statement createStatement() throws SQLException 创建Statement对象
PreparedStatement prepareStatement(String sql) 创建PreparedStatement对象
Statement接口:
由Connection产生,用于执行增、删、改、查等SQL语句。
改对象常用的方法:
executeUpdate() , executeQuery() , close()
PreparedStatement接口:
Statement的子接口(public interface PreparedStatement extends Statement{......}),同样由Connection产生,同样用于执行增、删、改、查等SQL语句。与Statement接口相比,具有高安全性(可以防止SQL注入攻击等安全隐患)、高性能、高可读性和高维护性的优点。
该实例化对象常用的方法:
executeQuery() , executeUpdate() , setXXX() , close()
ResultSet接口:
接收Statement或PreparedStatement对象执行查询操作后的结果集。
该实例化对象常用的方法:
boolean next() , int getInt(int columnIndex) , int getString(String columnLabel) , void close()
JDBC访问数据库的步骤:
(1)导入JDBC驱动包,并加载驱动类
Class.forName("JDBC驱动类名")
Class.forName("oracle.jdbc.OracleDriver")
(2)与数据库建立连接
Connection conn = DriverManager.getConnection("连接字符串","数据库用户名","数据库密码");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","数据库用户名","数据库密码");
(3)发送SQL语句,并获取执行结果
3.1 Statement对象
Statement st = conn.createStatement();
增、删、改:
int count = st.executeUpdate("增、删、改的SQL语句");
查:
ResultSet rs = st.executeQuery("查询的SQL语句");
3.2 PreparedStatement对象(建议使用这个)
PreparedStatement ps = conn.preparedStatement("增、删、改、查的SQL语句");
增、删、改:
int count = ps.executeUpdate()
查:
ResultSet rs = ps.executeQuery();
4.处理返回结果集(如果是查询,会有结果集)
while(rs.next()){
int age = rs.getInt("stuAge");
String name = rs.getString("stuName");
}