JDBC的一些简单介绍
JDBC是什么?
JDBC(Java Data Base Connection)可以为多种关系数据库提供统一访问,它由一组用Java编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
关于JDBC的设计
从一开始Sun公司就Java在数据库应用方面的巨大潜力。数据库开发商们认为,Sun公司要是提供一套纯Java API再提供一个数据驱动管理器就非常有用了,数据库供应商提供驱动程序,并插入到驱动管理器中,另外需要一套简单的机制,使驱动程序能在驱动管理中注册,关键的问题是所有的驱动程序必须满足驱动管理器的API提出的要求。最后Sun公司制定了两套接口,一套是JDBC API给开发人员使用,一套是JDBC驱动API给数据库供应商使用。
如下图,JDBC到数据库的通信路径
数据库url
一般格式jdbc:subprotocol:other stuff
subprotocol用于指明连接数据库的特定驱动程序
other stuff参数格式随subprotocol的不同而不同
如Oracle数据库的url jdbc:oracle:thin:@localhost:1521:orcl
熟悉以下API
首先,src下新建一个配置文件database.properties
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.user=scott
jdbc.password=tiger
jdbc.url=jdbc:oracle:thin:@localhost:1522:orcl
再来读取配置信息,连接数据库,根据上面的介绍,我们需要注册驱动,然后获取连接之后就能操作数据库了。
package com.company.jdbc;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Properties;
public class JDBCTest1 {
public static void main(String[] args) {
//注册驱动程序
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//获取连接
Connection con=getConnection();
//操作数据库
try {
PreparedStatement ps = con.prepareStatement("select * from dept");
ResultSet rs=ps.executeQuery();
ResultSetMetaData md=rs.getMetaData();
while(rs.next()){
System.out.println(rs.getString(2));
System.out.println(rs.getInt("deptno"));
}
//获取元数据,查看ResultSet对象中列的类型和属性信息的对象
int n=md.getColumnCount();
for (int i = 1; i <= n; i++) {
System.out.print