在房间数据库DAO中触发两个查询,可以通过以下步骤实现:
以下是一个示例代码:
public class RoomDao {
private Connection connection; // 数据库连接对象
// 构造方法,初始化数据库连接
public RoomDao() {
// 初始化数据库连接
connection = // 连接数据库的代码
}
// 第一个查询方法
public List<Room> queryRoomsByType(String roomType) {
List<Room> rooms = new ArrayList<>();
// 编写查询语句
String query = "SELECT * FROM rooms WHERE type = ?";
try {
// 创建PreparedStatement对象
PreparedStatement statement = connection.prepareStatement(query);
statement.setString(1, roomType); // 设置查询参数
// 执行查询操作
ResultSet resultSet = statement.executeQuery();
// 处理查询结果
while (resultSet.next()) {
// 从结果集中获取数据并创建Room对象
Room room = new Room();
room.setId(resultSet.getInt("id"));
room.setType(resultSet.getString("type"));
// ...
rooms.add(room);
}
// 关闭结果集和语句对象
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return rooms;
}
// 第二个查询方法
public List<Room> queryRoomsByPriceRange(double minPrice, double maxPrice) {
List<Room> rooms = new ArrayList<>();
// 编写查询语句
String query = "SELECT * FROM rooms WHERE price BETWEEN ? AND ?";
try {
// 创建PreparedStatement对象
PreparedStatement statement = connection.prepareStatement(query);
statement.setDouble(1, minPrice); // 设置查询参数
statement.setDouble(2, maxPrice); // 设置查询参数
// 执行查询操作
ResultSet resultSet = statement.executeQuery();
// 处理查询结果
while (resultSet.next()) {
// 从结果集中获取数据并创建Room对象
Room room = new Room();
room.setId(resultSet.getInt("id"));
room.setType(resultSet.getString("type"));
// ...
rooms.add(room);
}
// 关闭结果集和语句对象
resultSet.close();
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
return rooms;
}
}
在需要触发这两个查询的地方,可以按照以下方式调用:
RoomDao roomDao = new RoomDao();
List<Room> roomsByType = roomDao.queryRoomsByType("Single");
List<Room> roomsByPriceRange = roomDao.queryRoomsByPriceRange(50.0, 100.0);
这样就可以分别触发两个查询,并获取查询结果。
领取专属 10元无门槛券
手把手带您无忧上云