code: public static PreparedQuery prepareQuery(final Connection conn, final String sql) throws SQLException {
          return new PreparedQuery(conn.prepareStatement(sql));
      }
docs: Never write below code because it will definitely cause {@code Connection} leak:
  <pre>
  <code>
  JdbcUtil.prepareQuery(dataSource.getConnection(), sql);
  </code>
  </pre>
  
  @param conn the specified {@code conn} won't be close after this query is executed.
  @param sql
  @return
  @throws SQLException