Added more utils.

This commit is contained in:
Andrew Lalis 2023-04-19 15:07:51 +02:00
parent c94bac792c
commit 830ca054d8
3 changed files with 16 additions and 2 deletions

View File

@ -6,6 +6,8 @@ import java.nio.charset.StandardCharsets;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class DataSource {
private final Connection conn;
@ -19,6 +21,16 @@ public class DataSource {
return new RunRecordRepository(this.conn);
}
public <T> List<T> query(String query, ResultSetMapper<T> mapper) throws SQLException {
try (var stmt = conn.prepareStatement(query); var rs = stmt.executeQuery()) {
List<T> items = new ArrayList<>();
while (rs.next()) {
items.add(mapper.map(rs));
}
return items;
}
}
public void close() throws SQLException {
this.conn.close();
}

View File

@ -0,0 +1,4 @@
package com.github.andrewlalis.running_every_day.view;
public class AggregateStatisticsPanel {
}

View File

@ -4,7 +4,6 @@ import com.github.andrewlalis.running_every_day.data.Page;
import com.github.andrewlalis.running_every_day.data.RunRecord;
import javax.swing.table.AbstractTableModel;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
@ -34,7 +33,6 @@ public class RunRecordTableModel extends AbstractTableModel {
public Object getValueAt(int rowIndex, int columnIndex) {
if (rowIndex < 0 || rowIndex >= records.size()) return null;
RunRecord r = records.get(rowIndex);
DecimalFormat singleDigitFormat = new DecimalFormat("#,##0.0");
return switch (columnIndex) {
case 0 -> Long.toString(r.id());
case 1 -> r.date().toString();