Java编程实现数据库SQL2000的CRUD操作

5星 · 超过95%的资源 需积分: 16 294 下载量 182 浏览量 更新于2024-07-28 19 收藏 235KB DOC 举报
"Java连接数据库进行增删改查操作的实现示例" 在Java编程中,连接数据库并执行增删改查(CRUD)操作是常见的任务。以下将详细讲解如何使用Java来连接SQL Server 2000数据库,并实现这些功能。 首先,我们需要引入必要的JDBC驱动库,这里使用的是Microsoft JDBC Driver for SQL Server。在代码中,我们通过`Class.forName()`方法加载驱动,其参数是驱动类的全限定名,即`com.microsoft.jdbc.sqlserver.SQLServerDriver`。接着,使用`DriverManager.getConnection()`方法建立与数据库的连接,传入URL、用户名和密码。URL的格式是`jdbc:microsoft:sqlserver://<服务器地址>:<端口号>;DatabaseName=<数据库名>`,在这个例子中,服务器地址是`localhost`,端口是`1433`,数据库名为`shop`,用户名和密码都设置为`sa`。 ```java public static Connection getConnection() { Connection conn = null; String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=shop"; String username = "sa"; String password = "sa"; try { Class.forName(driver); conn = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } ``` 为了方便数据的存取,通常我们会创建一个实体类,如`Country`,包含对应的属性(如`name`、`region`、`area`、`population`和`gdp`)以及对应的getter和setter方法: ```java public class Country { private String name; private String region; private String area; private String population; private String gdp; // Getter and Setter methods public String getName() { return name; } public void setName(String name) { this.name = name; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } // Similarly, implement getters and setters for other fields } ``` 有了数据库连接和实体类,我们可以编写SQL语句进行CRUD操作。例如,插入数据(Create): ```java public void insertCountry(Country country) { String sql = "INSERT INTO Countries (name, region, area, population, gdp) VALUES (?, ?, ?, ?, ?)"; try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, country.getName()); pstmt.setString(2, country.getRegion()); pstmt.setString(3, country.getArea()); pstmt.setString(4, country.getPopulation()); pstmt.setString(5, country.getGdp()); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } ``` 查询数据(Read): ```java public List<Country> getAllCountries() { List<Country> countries = new ArrayList<>(); String sql = "SELECT * FROM Countries"; try (Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql)) { while (rs.next()) { Country country = new Country(); country.setName(rs.getString("name")); country.setRegion(rs.getString("region")); // Set other fields countries.add(country); } } catch (SQLException e) { e.printStackTrace(); } return countries; } ``` 更新数据(Update): ```java public void updateCountry(Country country) { String sql = "UPDATE Countries SET name=?, region=?, area=?, population=?, gdp=? WHERE id=?"; try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setString(1, country.getName()); pstmt.setString(2, country.getRegion()); pstmt.setString(3, country.getArea()); pstmt.setString(4, country.getPopulation()); pstmt.setString(5, country.getGdp()); pstmt.setInt(6, country.getId()); // Assuming there's an 'id' field pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } ``` 删除数据(Delete): ```java public void deleteCountry(int id) { String sql = "DELETE FROM Countries WHERE id=?"; try (PreparedStatement pstmt = conn.prepareStatement(sql)) { pstmt.setInt(1, id); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } } ``` 以上代码展示了如何使用Java连接SQL Server 2000数据库并进行CRUD操作的基本步骤。需要注意的是,实际开发中应当考虑异常处理、事务管理、连接池等高级特性,以提高代码的健壮性和性能。同时,随着Java的发展,推荐使用JDBC 4.0及以上版本,以及更现代的数据库连接库,如Apache DBCP或HikariCP,以获得更好的兼容性和性能优化。