"JDBC学习笔记"
JDBC(Java Database Connectivity)是Java平台提供的一种用于与关系型数据库交互的API,它使得Java应用程序能够连接、操作和管理各种数据库。作为Java Standard Edition (J2SE)的一部分,JDBC主要由java和javax.sql包中的接口和类组成,为开发人员提供了统一的编程模型来访问不同数据库系统。
数据库连接过程在JDBC中非常重要,分为以下几个步骤:
1. 注册驱动:这是首次使用某个数据库时的必要步骤,通过调用`DriverManager.registerDriver()`方法,告诉Java运行环境如何识别并加载特定数据库的JDBC驱动。例如,代码中的`DriverManager.regesterDriver(new com.mysql.jdbc.Driver());`就是注册MySQL JDBC驱动。
2. 建立连接:通过调用`DriverManager.getConnection()`或自定义的数据库连接工具函数(如`jdbcUtils.getConnection()`),根据数据库URL(如`"jdbc:mysql://localhost:3306/jdbc"`)、用户名和密码获取到`Connection`对象,这个对象代表了与数据库的连接。
3. 创建Statement或PreparedStatement:`Statement`用于执行静态SQL语句,而`PreparedStatement`可以预编译,提高性能并支持参数化查询。代码中先创建了`Statement`对象,但在较正式版本中推荐使用`PreparedStatement`以提高安全性和效率。
4. 执行SQL语句:使用`Statement`或`PreparedStatement`的`executeQuery()`方法执行SQL查询,如`rs=st.executeQuery("Select * from user")`。
5. 处理结果集(ResultSet):查询结果会被封装在`ResultSet`对象中,通过遍历`ResultSet`,可以获取每一行的数据。如`while(rs.next()) {...}`,使用`getObject()`方法获取特定列的值。
6. 资源管理:使用完毕后,要确保关闭所有资源以释放数据库连接。这包括关闭`ResultSet`、`Statement`和`Connection`,例如`Rs.close(); St.close(); Conn.close();`。在更现代的代码实践中,推荐使用try-with-resources语句自动关闭资源,以防止资源泄露。
2.1.1入门级程序展示了简单但不建议在生产环境中使用的连接和操作流程,因为没有异常处理和资源管理。在实际开发中,应遵循良好的编程习惯,包括错误处理和资源清理。
2.1.2较正式版程序则引入了异常处理机制,并使用`try-catch`块来捕获可能出现的运行时异常。同时,通过`jdbcUtils.getConnection()`调用一个可能封装了数据库连接逻辑的辅助方法,提高了代码的可维护性和复用性。此外,正式版本避免了硬编码数据库连接信息,而是将其作为参数传递,增强了代码的安全性。