使用封装好的工具类DbUtil,完成某张表数据的操作: 要求每个操作单独一个类。 新增数据 修改数据 查询数据 删除数据
时间: 2024-09-10 22:05:38 浏览: 13
在使用封装好的工具类`DbUtil`来操作数据库时,通常会将这些数据库操作逻辑封装到独立的类中,以便于代码管理和复用。这里是一个简化的示例,展示如何为每种操作创建一个单独的类:
1. **新建类:**例如 `DataInsertor.java`
```java
public class DataInsertor {
private final DbUtil dbUtil;
public DataInsertor(DbUtil dbUtil) {
this.dbUtil = dbUtil;
}
public void insertData(DataEntity entity) {
try {
dbUtil.executeUpdate("INSERT INTO your_table (column1, column2...) VALUES (?, ...)", entity);
} catch (SQLException e) {
log.error("Failed to insert data", e);
}
}
}
```
2. **修改类:**如 `DataUpdater.java`
```java
public class DataUpdater {
private final DbUtil dbUtil;
public DataUpdater(DbUtil dbUtil) {
this.dbUtil = dbUtil;
}
public void updateData(int id, DataEntity updatedEntity) {
String sql = "UPDATE your_table SET column1 = ?, column2... WHERE id = ?";
try {
dbUtil.executeUpdate(sql, new Object[]{updatedEntity.getColumn1(), id});
} catch (SQLException e) {
log.error("Failed to update data", e);
}
}
}
```
3. **查询类:**如 `DataFetcher.java`
```java
public class DataFetcher {
private final DbUtil dbUtil;
public DataFetcher(DbUtil dbUtil) {
this.dbUtil = dbUtil;
}
public List<DataEntity> fetchData(String queryCondition) {
try {
return dbUtil.queryResults("SELECT * FROM your_table WHERE " + queryCondition);
} catch (SQLException e) {
log.error("Failed to fetch data", e);
return Collections.emptyList();
}
}
}
```
4. **删除类:**如 `DataRemover.java`
```java
public class DataRemover {
private final DbUtil dbUtil;
public DataRemover(DbUtil dbUtil) {
this.dbUtil = dbUtil;
}
public void deleteData(int id) {
try {
dbUtil.executeUpdate("DELETE FROM your_table WHERE id = ?", id);
} catch (SQLException e) {
log.error("Failed to delete data", e);
}
}
}
```
在每个类中,`DbUtil`作为依赖注入,用于实际执行SQL操作。这使得每个操作类职责明确,提高了代码的可维护性和测试性。