Celem przygotowanych stwierdzeń jest między innymi to, aby nie łączyć samodzielnie swoich zapytań.
Chcesz wykonać następujące czynności:
//first you "prepare" your statement (where the '?' acts as a kind of placeholder)
PreparedStatement st = con.prepareStatement("insert into user (user,age,school,password) values (?,?,?,?);");
//now you bind the data to your parameters
st.setString(1, user);
...
//and then you can execute it
st.executeUpdate()
Więcej informacji znajdziesz w oficjalnym samouczku .
Za kulisami dzieje się kilka rzeczy, które sprawiają, że zapytanie jest bezpieczne, na przykład unikanie znaków specjalnych, które w przeciwnym razie pozwoliłyby na zmianę instrukcji (wstrzyknięcia Google SQL, jeśli chcesz dowiedzieć się więcej)