All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cool.scx.jdbc.result_handler.MapConsumerHandler Maven / Gradle / Ivy

There is a newer version: 2.7.4
Show newest version
package cool.scx.jdbc.result_handler;

import cool.scx.jdbc.dialect.Dialect;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Consumer;
import java.util.function.Supplier;

/**
 * 

BeanBuilder interface.

* * @author scx567888 * @version 0.2.1 */ record MapConsumerHandler(Supplier> mapSupplier, Consumer> consumer) implements ResultHandler { public MapConsumerHandler(Consumer> consumer) { this(HashMap::new, consumer); } /** * {@inheritDoc} *

* a */ @Override public Void apply(ResultSet rs, Dialect dialect) throws SQLException { var rsm = rs.getMetaData(); var count = rsm.getColumnCount(); while (rs.next()) { var map = mapSupplier.get(); for (int i = 1; i <= count; i = i + 1) { map.put(rsm.getColumnLabel(i), rs.getObject(i)); } consumer.accept(map); } return null; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy