0
创建列表我需要帮助创建使用ResultSet
和Java 8带弹簧的ResultSet
我需要通过名称来筛选列表中的联系人列表,只有当名字是适合然后将其添加到列表中。并设置fetchSize
与Postgres的一百万行一起工作。
例如:
public List <Contact> getAll (String nameFilter) {
Pattern pattern = Pattern.compile (nameFilter);
List <Contact> contacts = new ArrayList <>();
JdbcTemplate.query ("SELECT * FROM contacts", rs -> {
// here it is necessary maybe to do something like this !pattern.matcher(name).matches()
// and maybe jdbcTemplate.setFetchSize (*how many rows will be better to read from
// postgres? (5,5000,50000 ???) *)
Contacts.add (new Contact (rs.getInt ("id"), rs.getString ("name")));
});
return contacts;
}
我怎样才能做到这一点?
有多少行会更好阅读? – noxi
大提取大小意味着当行集耗尽时,您会问更少的数据库时间,但您需要更多的内存来保存它。对于较小的读取大小,您将更频繁地询问数据库,但您需要较少的内存。所以这取决于你期待的结果有多大以及你需要什么。速度?记忆?这是你的决定。 – alfcope