Het punt van voorbereide verklaringen is onder andere dat u uw vragen niet zelf aaneenvoegt.
U wilt het volgende doen:
//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()
Voor meer details zie de officiële tutorial .
Er gebeuren een aantal dingen achter de schermen die de zoekopdracht veilig maken, zoals het ontsnappen van speciale tekens die het anders mogelijk zouden maken de instructie te wijzigen (google SQL-injecties als je meer wilt weten)