Bạn đã rơi vào tình trạng phân cấp kiểu khó hiểu của PreparedStatement extends Statement :
PreparedStatement có cùng execute*(String) các phương thức như Statement , nhưng chúng không được sử dụng, chỉ cần sử dụng không tham số execute*() các phương thức của PreparedStatement --- bạn đã cung cấp chuỗi truy vấn thực tế để thực thi bằng conn.prepareStatement() .