首页 > 代码库 > 浅谈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
一个简单的例子:
- 注册驱动 Class.forName("com.mysql.jdbc.Driver");
- 建立连接 Connection conn=DriverManager.getConnection(url,username,password);
- 创建语句 Statement st=conn.createStatement();
- 执行语句 ResultSet rs=st.executeQuery(sql);
- 处理结果集 while(rs.next()){System.out.Println(rs.getObject(1))}
- 释放资源
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