Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ChanglinZhou/6502b25cfb77dc501313e554b966dce2 to your computer and use it in GitHub Desktop.
Save ChanglinZhou/6502b25cfb77dc501313e554b966dce2 to your computer and use it in GitHub Desktop.
nashorn is fun
var PGDataSource = Java.type("org.postgresql.ds.PGSimpleDataSource");
function showResultSetHeader(rs) {
var metadata = rs.getMetaData();
var result = "";
for (var i = 1; i < metadata.getColumnCount(); ++i)
result = result + metadata.getColumnName(i) + "\t";
result = result + metadata.getColumnName(metadata.getColumnCount());
print(result);
}
function printResultSetRow(rs, metadata) {
var result = "";
for (var i = 1; i < metadata.getColumnCount(); ++i)
result = result + rs.getObject(i) + "\t";
result = result + rs.getObject(metadata.getColumnCount());
print(result);
}
function showResultSet(rs) {
var metadata = rs.getMetaData();
showResultSetHeader(rs);
while(rs.next()) {
printResultSetRow(rs, metadata);
}
}
var dataSource = new PGDataSource();
dataSource.setServerName("localhost");
dataSource.setDatabaseName("mydb");
dataSource.setUser("xxx");
var conn = dataSource.getConnection();
var stmt = conn.createStatement();
stmt.execute("select * from my_table limit 100");
showResultSet(stmt.getResultSet());
stmt.close();
conn.close();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment