什么是JDBC
JDBC全称Java Database Connectivity,Java数据库连接。
JDBC是一组API,,各数据库厂商提供自己的实现类,也就是数据库驱动。这样Java程序员就可以使用同一种API操作不同的数据库,需要做的只是导入相应的数据库驱动。
JDBC做了什么事
(1)连接数据库
(2)执行SQL语句
(3)处理返回结果
JDBC API简介
1. DriverManager
主要用于获取Connection对象。
2. Connection
代表数据库连接对象,每个Connection代表一个物理连接会话。要访问数据库,必须先获取数据库连接。
3. Statement
用于执行SQL语句。
4. PreparedStatement
PrepatedStatement是Statement的子接口。
5. ResultSet
结果集对象。其中包含了访问查询结果集的方法。
JDBC入门编程步骤
package com.weiheli;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcDemo001 {public static void main(String[] args) throws SQLException {try {// 第一步、加载数据库驱动Class.forName("com.mysql.jdbc.Driver");// 第二步、连接数据库Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "");// 第三步、得到Statement对象Statement stmt = conn.createStatement();// 第四步、发送SQL语句ResultSet rs = stmt.executeQuery("select * from company");// 第五步、操作结果集while(rs.next()) {System.out.println(rs.getInt(1) + " " + rs.getString(2));}} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
java.sql和com.mysql.jdbc
在编写上面的代码时,发现Connection和Statement会出现在两个包中:java.sql和com.mysql.jdbc,该导入哪个?这两个包的关系是:
com.mysql.jdbc.Connection extends java.sql.Connectioncom.mysql.jdbc.Statement extends java.sql.Statement
可能是com.mysql.jdbc.*对java.sql.*做了优化。但使用java.sql.*没有兼容性问题。
总结
至此,JDBC已经入门。接下来,会介绍JDBC的各种高级特性。
下篇预告:JDBC高级
变幻原是永恒,我们唯有用永恒的诺言制约世事的变幻。