Poängen med förberedda uttalanden är bland annat att inte sammanfoga dina frågor själv.
Du vill göra följande:
//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()
För mer information se den officiella handledningen .
Det händer ett par saker bakom kulisserna som gör frågan säker, som att undvika specialtecken som annars skulle tillåta att ändra påståendet (google SQL-injektioner om du vill veta mer)