1. JDBC 架构:JDBC 采用的是基于接口的架构,它定义了一组接口和类,用于实现与数据库的交互。核心组件包括驱动程序管理器、驱动程序、连接接口、语句接口和结果集接口等。
2. 数据库连接:JDBC 通过 `DriverManager` 类提供数据库连接管理。通过加载数据库驱动程序并调用 `getConnection()` 方法可以建立与数据库的连接。连接字符串可以指定数据库的位置、用户名、密码等信息。
代码展示
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf8", "root", "数据库密码");
3. 执行SQL语句:JDBC 提供了 `Statement` 接口和 `PreparedStatement` 接口,用于执行 SQL 语句。`Statement` 是一种简单的方式,但存在 SQL 注入的风险。`PreparedStatement` 提供了预编译机制,可以有效防止 SQL 注入攻击。
4. 结果集处理:JDBC 使用 `ResultSet` 接口表示查询的结果集。可以使用 `next()` 方法逐行遍历结果集,并使用 `getXXX()` 方法获取各个列的值。
5. 异常处理:JDBC 中的数据库访问操作可能会抛出异常,如连接失败、SQL 语句错误等。开发者需要使用 try-catch 块来处理异常或抛出给上层。
Controller:Controller是应用程序的入口点,它接收来自用户的HTTP请求并处理它们。Controller负责解析请求参数、调用相应的Service方法处理业务逻辑,并返回HTTP响应给用户。
DAO:DAO(数据访问对象)是用于访问持久化数据存储的组件。它封装了与数据库的交互细节,例如查询、插入、更新和删除数据。DAO负责提供数据存取的接口和方法,并将数据传递给上层的Service。
POJO:POJO(Plain Old Java Object)是一个普通的Java对象,它不依赖于特定的框架或技术。POJO通常表示一种数据结构或实体,它包含属性、getter和setter方法,以及其他用于处理数据的普通Java方法。
Service:Service层是应用程序的核心业务逻辑层。它封装了具体的业务实现细节,例如对数据的处理、调用第三方服务等。Service通常调用DAO层提供的方法来访问数据,并对数据进行处理后返回给Controller。它使得Controller和DAO之间的耦合度降低,提高了代码的可复用性和可测试性。