Java连接SQL Server数据库:建立与查询Product表

需积分: 13 1 下载量 117 浏览量 更新于2024-09-19 收藏 2KB TXT 举报
本文档主要介绍了在Java中通过SQL Server数据库进行连接操作的方法。首先,我们关注于`DBConnection`类,该类用于处理与数据库的交互,包括连接、查询以及数据处理。以下是详细的知识点: 1. **驱动加载**: 在`DBConnection`的构造函数中,通过`Class.forName()`方法加载SQL Server JDBC驱动(`com.microsoft.sqlserver.jdbc.SQLServerDriver`),这是连接到SQL Server数据库的第一步。如果驱动未被正确加载,会捕获并打印异常。 2. **数据库连接**: `getConnection()`方法是创建数据库连接的关键方法。它使用`DriverManager.getConnection()`来获取数据库连接,传递的是数据库URL(`bi`),这通常包含了服务器地址、端口、数据库名等信息。这个过程可能会抛出异常,比如数据库连接失败或驱动问题,需要捕获并处理这些异常。 3. **查询数据**: `productList()`方法用于从`product`表中检索所有数据。首先,创建一个`ArrayList`用于存储查询结果。然后,使用`PreparedStatement`来执行SQL语句("select * from product"`),获取所有列的所有数据。对于每一行查询结果,创建一个新的`Product`对象,并设置其属性(PID、Pname、Price、Discount和Rest)从`ResultSet`中读取,然后添加到列表中。异常处理部分在查询和关闭资源后执行。 4. **单个产品查询**: `getProduct(int pid)`方法接收产品ID作为参数,执行SQL查询("select ... where PID = ?",注意这里缺失了完整的查询语句),根据传入的PID获取特定产品的详细信息。同样使用`PreparedStatement`来动态设置参数,以防止SQL注入攻击。 5. **资源管理**: 代码中提到的`allclose()`方法虽然没有显示实现,但通常会包含关闭`ResultSet`、`PreparedStatement`和`Connection`的逻辑,以释放数据库资源,防止内存泄漏。在`finally`块中调用这个方法,确保即使在异常情况下也能正确关闭连接。 通过这个`DBConnection`类,可以有效地在Java应用中与SQL Server数据库进行交互,执行CRUD(Create, Read, Update, Delete)操作。在实际项目中,可能还需要处理更多的异常情况和优化查询性能,比如分页查询或连接池管理。