Ошибка добавления значений в базу данных
У меня есть таблица user_request
CREATE TABLE user_request (
id int auto_increment,
user_email varchar(45) not null,
number_of_beds varchar(10),
class varchar(45),
arrival_date date,
departure_date date,
lowerPriceLimit float,
upperPriceLimit float,
primary key (id),
foreign key (user_email)
references accounts(email)
on delete cascade
);
Есть DAO для этой таблицы, в которой я создал функцию для добавления данных в таблицу
import ProjectHotel.DB.DBManager;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserRequestDAO {
public static DBManager dbManager = DBManager.getInstance();
public static void insertUserRequest(String userEmail, String numberOfBeds, String classOfRoom, Date arrivalDate, Date departureDate, float lowerPriceLimit, float upperPriceLimit) {
PreparedStatement ps = null;
try (Connection con = dbManager.getConnection()) {
String sql = "INSERT INTO user_request (user_email,number_of_beds,class, arrival_date,departure_date,lowerPriceLimit, upperPriceLimit) Values (?,?,?,?,?,?,?,?);";
ps = con.prepareStatement(sql);
ps.setString(1, userEmail);
ps.setString(2, numberOfBeds);
ps.setString(3, classOfRoom);
ps.setDate(4, arrivalDate);
ps.setDate(5, departureDate);
ps.setFloat(6, lowerPriceLimit);
ps.setFloat(7, upperPriceLimit);
ps.executeUpdate();
} catch (SQLException e) {
e.getMessage();
} finally {
try {
if (ps != null) {
ps.close();
}
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}
И есть класс, который получает данные с веб страницы и вызывает функцию insertUserRequest
import ProjectHotel.DB.dao.UserRequestDAO;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.Date;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class SendRequestCommand extends Command {
@Override
public String execute(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
String email = (String) request.getSession(false).getAttribute("email");
String[] bedsArray = request.getParameterValues("beds");
String beds = String.join(",", bedsArray);
String[] clas = request.getParameterValues("class");
String classes = String.join(", ", clas);
String arrivalDateStr = request.getParameter("dateIn");
String departureDateStr = request.getParameter("dateOut");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate arrivalDateLD = LocalDate.parse(arrivalDateStr, formatter);
LocalDate departureDateLD = LocalDate.parse(departureDateStr, formatter);
Date arrivalDate = Date.valueOf(arrivalDateLD);
Date departureDate = Date.valueOf(departureDateLD);
float lowerPriceLimit = Float.parseFloat(request.getParameter("lowerPriceLimit"));
float upperPriceLimit = Float.parseFloat(request.getParameter("upperPriceLimit"));
UserRequestDAO.insertUserRequest(email,beds,classes,arrivalDate,departureDate,lowerPriceLimit,upperPriceLimit);
return null;
}
}
Я отправляю данные, но запись в таблицу не добавляется. Проблема именно в sql запросе(возможно в датах), так как другие методы из других DAO работают.