### Question:
PreparedSqlParameterBinder extends AbstractParameterBinder<PreparedStatement, InParameter<?>> { @Override public void bind(PreparedStatement preparedStatement, List<? extends InParameter<?>> parameters) throws SQLException { assertNotNull(preparedStatement, parameters); int index = 1; JdbcMappingVisitor jdbcMappingVisitor = query.getConfig().getDialect().getJdbcMappingVisitor(); for (InParameter<?> parameter : parameters) { bindInParameter(preparedStatement, parameter, index, jdbcMappingVisitor); index++; } } PreparedSqlParameterBinder(Query query); @Override void bind(PreparedStatement preparedStatement, List<? extends InParameter<?>> parameters);  }### Answer:
@Test public void testBind() throws Exception { MockPreparedStatement preparedStatement = new MockPreparedStatement(); List<BasicInParameter<?>> parameters = new ArrayList<>(); parameters.add(new BasicInParameter<>(() -> new org.seasar.doma.wrapper.StringWrapper("aaa"))); parameters.add( new BasicInParameter<>( () -> new org.seasar.doma.wrapper.BigDecimalWrapper(new BigDecimal(10)))); PreparedSqlParameterBinder binder = new PreparedSqlParameterBinder(new MyQuery()); binder.bind(preparedStatement, parameters); List<BindValue> bindValues = preparedStatement.bindValues; assertEquals(2, bindValues.size()); BindValue bindValue = bindValues.get(0); assertEquals(1, bindValue.getIndex()); assertEquals("aaa", bindValue.getValue()); bindValue = bindValues.get(1); assertEquals(2, bindValue.getIndex()); assertEquals(new BigDecimal(10), bindValue.getValue()); }