JDBC(Java DataBase Connectivity)时用于运行SQL的解决方案,开发人员使用JDBC的标准接口,数据库厂商则对接口进行实现,这样开发人员就可以无需接触底层数据库驱动程序的差异性。
JDBC简介
厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型:
- JDBC-ODBC Bridge Driver
将JDBC调用转换为ODBC调用 - Native API Driver
将JDBC调用转换为原生链接库中的相关API调用。特点:与平台相依,是四种类型中最快的驱动程序。 - JDBC-Net Driver
将JDBC调用转换为特定的网络协议调用,目的是与远程数据库特定的中间服务器或组件进行协议操作,而中间件或组建再真正与数据库进行操作。特点:弹性最高。 - Native Protocol Driver
主要作用是将JDBC调用转换为特定的网络协议,所以驱动驱动程序可以使用Java技术来实现,遗传你这类型的驱动程序可以跨平台,在性能上也有不错的表现。在不需要如第3种驱动类型的灵活性时,通常是会使用这类型驱动程序,该类型时最常见的驱动程序类型。
以下编写一个简单的JavaBean来测试可否连接数据库:
package club.chuxing;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class DbBean {
private String url;
private String username;
private String password;
public DbBean(){
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
Logger.getLogger(DbBean.class.getName()).log(Level.SEVERE, null, e);
}
}
public boolean isConnectedOk() {
boolean ok = false;
Connection conn = null;
try {
conn = DriverManager.getConnection(url, username, password);
if (!conn.isClosed()) {
ok = true;
}
} catch (SQLException e) {
Logger.getLogger(DbBean.class.getName()).log(Level.SEVERE, null, e);
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
Logger.getLogger(DbBean.class.getName())
.log(Level.SEVERE, null, e);
}
}
}
return ok;
}
public void setPassword(String password) {
this.password = password;
}
public void setUrl(String url) {
this.url = url;
}
public void