JDBC的全称为Java DataBase Connectivity
JDBC是一种底层API,在访问数据库时需要在业务逻辑中直接嵌入SQL语句,由于SQL语句是面向关系的,依赖于关系模型,所以JDBC传承了简单直接的优点,特别是对于小型应用程序十分方便。需要注意的是,JDBC不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序,JDBC完成了以下三步工作:
(1)同数据库建立连接。
(2)向数据库发送SQL语句。
(3)处理从数据库返回的结果。
JDBC的优点:
- JDBC与ODBC十分相似,便于软件开发人员理解。
- JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专著与业务逻辑的开发。
- JDBC支持多种关系型数据库,大大增加了软件的可移植性。
- JDBC API是面向对象的,软件开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。
JDBC的缺点:
- 通过JDBC访问数据库时速度将受到一定影响。
- 虽然JDBC API是面向对象的,但通过JDBC访问数据库依然是面向关系的。
- JDBC提供了对不同厂家的产品的支持,这将对数据源带来影响。
在JDBC中常用的类有:
- DriverManager;
- Connection;
- Statement;
- ResultSet。
JDBC实现连接的代码:
package jdbc01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* JDBC Statement的增删改
* int Statement.executeUpdate() 发送DDL,DML语句 表结构的增删改,表记录的增删改
* ResultSet executeQuery() 发送DQL语句
* @author wpl
*
*/
public class Demo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
String username="root";
String password="root";
String url = "jdbc:mysql:///xxx";
String driverClass = "com.mysql.jdbc.Driver";
//加载驱动
Class.forName(driverClass);
//获取连接对象
Connection conn = DriverManager.getConnection(url, username, password);
//获取sql语句发送器
Statement statement = conn.createStatement();
// String sql = "insert into customer values(null,'cll')";
// String sql = "update customer set uname='小明' where cid=1";
// String sql = "delete from bbb";
String sql = "select * from user";
//执行sql
int select = statement.executeUpdate(sql);
System.out.println(select);
statement.close();
}
}