第十七部分_详解JDBC
时间:2021-07-01 10:21:17
帮助过:2人阅读
JDBC(Java DataBase Connectivity)
- 是一种用于执行SQL语句的Java API
- 由一组用Java编程语言编写的类和接口组成
- 为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序
四类JDBC驱动程序(了解)
- JDBC-ODBC桥+ODBC驱动程序:利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到该驱动程序的每个客户机上
- 本地API:部分用Java来编写的驱动程序,这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、DB2或其他DBMS的调用。注意,像桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上
- JDBC网络纯Java驱动程序(使用频繁):这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上
- 本地协议纯Java驱动程序:这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议
数据库连接的一般过程(重要)
- 载入JDBC驱动程序(jar)
- 定义连接URL(特定数据库)
- 建立连接(Connection)
- 创建Statement对象(JDBC顶层接口)
- 执行查询或更新
- 结果处理
- 关闭连接
加载驱动程序
- 使用JDBC-ODBC桥驱动程序的语句如下:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- 使用Oracle9i的JDBC驱动程序的语句如下:Class.forName("oracle.jdbc.driver.OracleDriver");
建立JDBC连接
- DriverManager类的getConnection()方法:public static Connection getConnection(String url, String user, String password) throws SQLException
- Oracle提供了两种JDBC驱动程序
最后,不要忘记关闭Connection对象,释放占用的资源:public void close() throws SQLException
发送SQL语句
- Statement对象用于将SQL语句发送到数据库中。存在三种Statement对象:Statement;PreparedStatement(从Statement继承而来);CallableStatement(从PreparedStatement继承而来)
- 由Connection的createStatement()方法创建:public Statement createStatement() throws SQLException
id name
1 张三
2 李四
ResultSet rs = st.executeQuery("select * from person");
rs.next(); // 通常用来循环遍历表,可以看作一个指针指向当前数据行,默认指向有效数据行的上一行
int id = res.getInt(1); // 取得当前行中第一列的值,下同
int id2 = res.getInt("id");
String name = rs.getString(2);
String name2 = rs.getString("name");
PreparedStatement ps = con.prepareStatement("insert into person(id, name) values (?,?)");
ps.setInt(1, 5); // 函数调用的类型根据字段中问号对应的类型,这里1代表第一个问号,5是设置的值
ps.setString(2, "wangwu");
ps.execute(); // 表示真正执行sql语句
第十七部分_详解JDBC
标签: