先看有上文给出的一个连接msyql的Jdbc的源码。
//------------------------------------------------------------------
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Database {
private Connection connection;
public Database() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void executeQuery() {
StringBuffer url = new StringBuffer(
"jdbc:mysql://localhost:3306/mysql?user=root&password=654321");
try {
connection = DriverManager.getConnection(url.toString());
Statement stm = connection.createStatement();
String sql = "select * from help_relation where help_topic_id<100";
ResultSet rs = stm.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(1));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] ags){
new Database().executeQuery();
}
}
//--------------------------------------------------------------------------
在上面的例子中用到的JDBC的类有:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
这个五个类都是位于java.sql.*包下面,下面分别讲述一下这几个类在上面的源码中所起到的作用。
Connection:该类用于连接mysql,Java通过该类建立的通道与mysql(数据库)进行通信。该类使用
sokcet方式进行连接。
DriverManager:该类是管理jdbc驱动的,不管事Oracle还是mysql,只要是符合jdbc标准的数据库
驱动,都可以有该类来管理。在这个例子中,该类创建了一个Connection,从这里看出不管是使用
何种数据库,都可以通过该类来获取一个数据库的连接。
ResultSet:该类的中文名字为结果集。用于存放从数据库中获取的查询信息的结果。该类是一个集
合,若要得到查询的结果就需要遍历该类中的所有内容。
SQLException:该异常是用于提示在操作数据库过程中程序出现的错误。
Statement:该类有Connection类创建,用于执行对数据库的操作。所有操作数据的内容都是通过该类
完成的。
通过上面的简单分析可以知道每个类的分工,以及使用jdbc连接数据时所要执行的操作。
深刻理解上面所有类的内容后才能真正的理解jdbc的用法。