JDBC(Java DataBase Connectivity),是Java和数据库的桥梁,是一个规范而不是一个实现,能够执行SQL语句。它由一组用Java语言编写的类和接口组成。
JDBC API 由一个驱动程序管理器实现对连接到不同数据库的多个驱动程序的管理。可做三件事:与数据库建立连接,执行SQL语句,处理结果。
DML,DDL,DCL
DML:数据操纵语言,比如SELECT、UPDATE、INSERT、DELETE。 主要用来对数据库的数据进行一些操作。
DDL:数据库定义语言,比如CREATE、ALTER、DROP等。DDL主要是用在定义或改变表的结构,数据类型,表之间的链接和约束等初始化工作上
DCL:数据库控制语言,是用来设置或更改数据库用户或角色权限的语句。
常用的API:
Driver接口
用于加载JDBC驱动程序必须实现的接口,在编写JDBC的时候,必须要把所使用的数据库驱动程序或类库加载到项目的classpath(jvm)中。
DriverManager类
用于加载JDBC驱动并且创建于数据库的连接。在该类中,定义了两个比较重要的静态方法:
(1)registerDriver(Driver driver)
该方法用于向DriverManager中注册给定的JDBC驱动程序。
(2)getConnection(String url,String user,String password)
该方法用于建立和数据库的连接,并返回表示连接的Connection对象。
Connection接口
代表Java程序与数据库的连接,只有获得该连接对象后才能访问数据库。常用的方法有:
(1)createStatement()
用于创建一个Statement对象并将SQL语句发送导数据库。
(2)prepareStatement(String sql)
用于创建一个PreparedStatement对象并将参数化的SQL语句发送到数据库。
(3)prepareCall(String sql)
用于创建一个CallableStatement对象来调用数据库的存储过程。
Statement接口
用于执行静态的SQL语句,并返回一个结果对象。该接口的对象通过Connection实例的createStatement()方法获得。常用的方法有:
(1)execute(String sql)
用于执行各种SQL语句,该方法返回一个boolean类型的值,如果为true,表示所执行的SQL语句有查询结果,可通过Statement的getResultSet()方法获得查询结果。
(2)executeUpdate(String sql)
用于执行SQL语句中的INSERT、UPDATE和DELETE语句。该方法返回一个int类型的值,表示数据库中受该SQL语句影响的记录条数。
(3)executeQuery(String sql)
用于执行SQL语句中的SELECT语句,该方法返回一个表示查询结果的ResultSet对象。
PreparedStatement接口
是Statement的子接口,用于执行预编译的SQL语句。该接口扩展了带有参数SQL语句的执行操作,引用该接口中的SQL语句可以使用占位符“?”来代替其参数,然后通过setXxx()方法为SQL语句的参数赋值。常用的方法有:
(1)executeUpdate()
在此PreparedStatement对象中执行SQL语句,该语句必须是一个DML语句或者是无返回内容的SQL语句,比如DDL语句。
(2)executeQuery()
在此PreparedStatement对象中执行SQL语句,该方法返回的是ResultSet对象。