首页 > 代码库 > 浅谈JDBC

浅谈JDBC

jdbc是sun公司定义的一套访问数据库的规范,全称是java数据库连接。主要放在java.sql和javax.sql两个包中。

数据库URL:用于标识数据库的位置,程序员通过URL地址告诉JDBC程序要连接哪个数据库。URL的写法:协议:子协议:主机端口:数据库。如:

  • oracle-jdbc:oracle:thin:@localhost:1521:sid
  • sqlserver-jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=sid
  • mysql-jdbc:mysql://localhost:3306/sid

一个简单的例子:

  1. 注册驱动  Class.forName("com.mysql.jdbc.Driver");
  2. 建立连接 Connection conn=DriverManager.getConnection(url,username,password);
  3. 创建语句 Statement st=conn.createStatement();
  4. 执行语句 ResultSet rs=st.executeQuery(sql);
  5. 处理结果集 while(rs.next()){System.out.Println(rs.getObject(1))}
  6. 释放资源

DriverManager详解:

用于加载驱动,并创建与数据库的连接。常用方法为DriverManager.registerDriver(new Driver());但是并不推荐这种方法注册驱动,会导致驱动程序加载两次,也就是在内存中会有两个Driver对象。常用的是Class.forName();

DriverManager.getConnection(url,username,password)根据url获取数据库的连接

Connection接口详解:

用于代表数据库的连接,最重要的一个对象。

createStatement:创建向数据库发送sql的statement对象

prepareStatement:创建向数据库发送预编译sql的PrepareStatement对象

prepareCall:创建执行存储过程的callableStatement对象

setAutoCommit:设置事务是否自动提交

ResultSet接口详解:

维护了一个指向表格数据行的游标。初始时,游标在第一行之前。

获取任意类型的数据:getObject(index) getObject(columnName)

获取制定类型的数据:getIndex(index) getString(columnName)

对结果集滚动的方法:

next():移动到下一行

previous():移动到前一行

beforeFirst():移动到最前面

afterLast():移动到最后面

浅谈JDBC