code: @SuppressWarnings("unchecked")
      @SafeVarargs
      public final <V> Nullable<V> queryForUniqueResult(final Class<V> targetClass, final Connection conn, final String sql,
              final StatementSetter statementSetter, final JdbcSettings jdbcSettings, final Object... parameters) throws DuplicatedResultException {
          return query(conn, sql, statementSetter, createUniqueResultExtractor(targetClass), jdbcSettings, parameters);
      }
docs: Returns a {@code Nullable} describing the value in the first row/column if it exists, otherwise return an empty {@code Nullable}.
  And throws {@code DuplicatedResultException} if more than one record found.
  <br />
  
  Special note for type conversion for {@code boolean} or {@code Boolean} type: {@code true} is returned if the
  {@code String} value of the target column is {@code "true"}, case insensitive. or it's an integer with value > 0.
  Otherwise, {@code false} is returned.
  
  Remember to add {@code limit} condition if big result will be returned by the query.
  
  @param targetClass
  set result type to avoid the NullPointerException if result is null and T is primitive type
  "int, long. short ... char, boolean..".
  @param conn
  @param sql
  @param statementSetter
  @param jdbcSettings
  @param parameters
  @throws DuplicatedResultException if more than one record found.