一.JDBC简介
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。
JDBC可以在各种平台上使用Java,如Windows,Mac OS和各种版本的UNIX。
JDBC库包括通常与数据库使用相关的下面提到的每个任务的API。
连接数据库。
创建SQL或MySQL语句。
在数据库中执行SQL或MySQL查询。
查看和修改生成的记录。
二.JDBC的重要组件
1.Driver:接口处理与数据服务器之间的通信,主要用于加载数据库驱动
2.DriverManager:用于管理数据库驱动程序列表。使用通信子协议将来自java应用程序的连接请求与适当的数据库驱动程序匹配
3.Connection:该界面具有用于联系数据库的所有方法。连接对象表示通信上下文,即,与数据库的所有通信仅通过连接对象。
4.Statement:使用从此接口创建的对象将SQL语句提交到数据库。除了执行存储过程之外,一些派生接口还接受参数。
5.ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭代器,允许我们移动其数据。
6.SQLException:用于处理数据库应用程序中出现的错误或者异常。
三.JDBC的使用步骤
1.导入包:需要包含数据库编程所需的JDBC类的包。大多数情况下,使用import java.sql.*就足够了。
2.注册JDBC驱动程序:初始化驱动程序,可以打开与数据库之间的通信通道。
3.打开连接:使用DrinverManager.getConnection()方法创建一个connection对象,该对象表示与数据库进行物理连接。
4.发送SQL:使用connection.createStatement()创建statement对象用于发送SQL。
5.编写SQL:创建业务所需要使用的SQL语句。
6.执行SQL:使用statement对象来构建和提交SQL语句到数据库。
7.从结果集中提取数据:使用对应的ResultSet.getXXX()方法从结果集中检索数据并处理。
8.释放资源:对以上步骤所产生的资源对象皆需通过XXX.close()释放资源。
注:以上步骤除编写SQL和执行SQL所使用的方法不一致之外,其余步骤为固定的。
四.JDBC连接步骤
1.配置信息
String url = "jdbc:mysql://localhost:3306/wode?serverTimezone=UTC";
String userName = "root";
String passWord = "root";
2.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
3.连接驱动
Connection connection = DriverManager.getConnection(url, userName, passWord);
4.用于发送SQL的statement对象
Statement statement = connection.createStatement()
5.编写SQL
String sql = "select * from user"
6.执行SQL并提取结果集
ResultSet rs = statement.executeQuery(sql)
ResultSet rs = preparedstatement.executeQuery(sql);
while(rs.next()){
rs.getObject("id");
rs.getObject("name");
rs.getObject("age");
}
7.释放资源
//关闭原则:先开后关
rs.close();
statement.close();
connection.close();
注:理解以上内容即可自行完成CRUD增删改查操作,可通过对象中的方法判断,如更新数据直接使用executeUpdate;statement与preparedstatement相比,PreparedStatement可以使用占位符,是预编译的,批处理比Statement效率高,PreparedStatement可以防sql注入,而Statement不能防止sql注入。
五.JDBC事务
通俗来说,事务为完成一个操作所执行的流程,若其中产生错误或异常,则称这个事务为不完整,即操作失败。
1.开启事务
//通知数据库开启事务,false即为开启
connection.setAutoCommit(false);
2.事务回滚
若在执行代码过程中出现错误或者异常则事务进行回滚操作,一般在业务代码判断上实现。
connection.rollback()
3.提交事务
只有当业务代码都执行成功后才能提交事务,包含一系列的try...catch。
connection.commit()
总结:以上就是JDBC的实现过程,以及对事务的基本理解,为后边框架的学习打基础。