接口和类
Driver接口和DriverManager类:前者表示驱动器,后者表示驱动器管理器。
Connection接口:表示数据库连接。
Statement接口:负责执行SQL语句。
PreparedStatement接口:负责执行预准备的SQL语句。????
CallableStatement接口:负责执行SQL存储过程。
ResultSet接口:表示SQL查询语句返回的结果集。
Driver接口和DriverManager类
所有JDBC驱动器都必须实现Driver接口。
DriverManager类用来建立和数据库的连接及管理JDBC驱动器。DriverManager类的方法都是静态的,主要包括以下几种。
registerDriver(Driver driver):在DriverManager中注册JDBC驱动器。
getConnection(String url,String user,String pwd):建立和数据库的连接,并返回表示数据库连接的Connection对象。
setLoginTimeOut(int seconds):设定等待建立数据库连接的超时时间。
setLogWriter(PrintWriter out):设定输出JDBC日志的PrintWriter对象。
Connection接口
Connection接口代表java程序和数据库的连接,主要包括以下方法:
getMetaData():返回表示数据库的元数据的DatabaseMetaData对象。元数据包含了描述数据库的相关信息,如数据库中的表结构就是一种元数据。
createStatement():创建并返回Statement对象。
prepareStatement(String sql):创建并返回PreparedStatement对象。
Statement接口(执行)
Statement接口提供了3个执行SQL语句的方法:
execute(String sql):执行各种SQL语句。该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句具有查询结果,可通过Statement的getResultSet()方法获得这一查询结果。
executeUpdate(String sql):执行SQL的insert、update、和delete语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录的数目。
executeQuery(String sql):执行SQL的select语句。该方法返回一个表示查询结果的ResultSet对象。
PreparedStatement接口
PreparedStatement接口继承了Statement接口,用来执行预准备的SQL语句。在访问数据库时,可能会遇到这样的情况,某条SQL语句被多次执行,仅仅其中的参数不同。
Insert into tb_name(id,name,age,address,email) values(1,’zhxx’,10,’北京人才教育基地’,’zhxx_edu@126.com’);
Insert into tb_name(id,name,age,address,email) values(2,’zh’,11,’轻松学堂’,’zhxx@126.com’);
。。。。。。
Insert into tb_name(id,name,age,address,email) values(?,?,?,?,?);
Jaiewjfwajfeoijwafejewawajfoiwajfoiawjfwajf1wzhxxfj11jfoaefawa@fewajfewajfwj
PreparedStatement的使用步骤如下:
(1)、通过Connection对象的preparedStatement()方法生成PreparedStatement对象。
(2)、调用PreparedStatement的setXXX方法,给参数赋值,占位符。
(3)、执行SQL语句:
ResultSet rs = preStmt.executeQuery();
ResultSet接口
ResultSet接口表示select查询语句得到的结果集。调用ResultSet对象的next方法,可以使游标定位到结果集中的下一条记录。调用ResultSet对象的getXXX()方法,可以获得一条记录中的某个字段的值。
ResultSet接口提供了一下常用的getXXX()方法:
getString(int columnIndex):返回指定字段的String类型的值,参数columnIndex代表字段的索引。
getString(String columnName):返回指定字段的String类型的值,参数columnName代表字段的名字。
getInt(int columnIndex):返回指定字段的int类型的值,参数columnIndex代表字段的索引。
getInt(String columnName):返回指定字段的int类型的值,参数columnName代表字段的名字。
getFloat(int columnIndex):返回指定字段的float类型的值,参数columnIndex代表字段的索引。
getFloat(String columnName):返回指定字段的float类型的值,参数columnName代表字段的名字。