JDBC 的全称为Java DataBase Connectivity,是一套面向对象的应用程序接口(API),制定了统一的访问各类关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。通常JDBC完成以下操作:
(1) 同数据库建立连接;
(2)向数据库发送SQL语句
(3)处理从数据库返回的结果
JDBC中常用的接口
1 Driver
数据库驱动程序接口,在加载Driver类时,创建自己的实例并向java.sql.Drivaer Manager类注册该实例。
2 DriverManager
数据库驱动程序管理器,java.sql.DriverManager类负责管理JDBC驱动程序的基本服务,是JDBC的管理层,作用于用户和驱动程序之间,负责跟踪可用的驱动程序,并在数据库和驱动程序之间建立连接。
3 Connection
java.sql.Conection 接口负责与特定数据库的连接,在连接的上下文中可以执行SQL语句并返回结果。
4 Statement
java.sql.Statement接口用来执行静态的SQL语句,并返回结果。
方法eg:
executeUpdate(String sql) ---> insert,update,delete
executeQuerey(String sql) ---> select
addBatch(String sql) 添加指定sql语句
executeBatch() 批量执行Batch中的SQL语句
5 PreparedStatement
执行动态SQL语句,java.sql.PreparedStatement接口继承于Statement接口,是Statement接口的扩展。PreparedStatement采用预编译,可以有效的防止SQL注入(使用“?”可以指定输入点)
eg:
PreparedStatement ps=connection.preparedStatement("select* from table_name where id>? and(name=? or name=?)");
ps.setInt(1,1);
ps.setString(2,"st1");
ps.setString(3,"st2");
ResultSet rs=ps.executeQuerey();
6 ResultSet
访问结果集接口,java.sql.ResultSet 接口类似于一个数据表,通过该接口的实例可以获得检索结果集,以及对应数据表的相关信息。
//1 加载JDBC驱动程序
try{
Class.forName("包名.类名");
}catch(ClassNotFoundException e){
System.out.println("数据库驱动加载抛出异常:");
e.printStackTrace();
}
//2 创建数据库连接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost/数据库名?useUnicode=true&characterEncoding=utf8","root","pwq");
//3 执行动态SQL语句
Statement stmt =conn.createStatement();
ResultSet rs=stmt.executeQuerey("select * from 表名");
//4 获得查询结果
while(rs.next()){
out.println("")
}
//5 关闭资源,连接
rs.close();
stmt.close();
conn.close();