The following must be considered when using the
Statementinstance as many times as you want. You could create one as soon as you open the connection and use it for the connection's lifetime. But you have to remember that only one
ResultSetcan exist per
PreparedStatementat a given time.
ResultSet, you can simply create and use another
Statementfor each thread. Refer to Chapter 10, Using the Driver in a Multithreaded or a Servlet Environment if you are thinking of using threads, as it covers some important points.
PreparedStatementyou should close it.
?) is the placeholder for the positional parameters of a
PreparedStatement. There are, however, a number of PostgreSQL operators that contain a question mark. To keep such question marks in a SQL statement from being interpreted as positional parameters, use two question marks (
??) as escape sequence. You can also use this escape sequence in a
Statement, but that is not required. Specifically only in a
Statementa single (
?) can be used as an operator.