Skip to content

Instantly share code, notes, and snippets.

QueryRunner runner = new QueryRunner(dataSource);
try
{
// Execute the SQL insert statement
runner.insert("INSERT INTO Person (name,height) VALUES (:name,:height)")
.bind("name", "John Doe")
.bind("height", 1.82)
.execute();
// Now it's time to rise to the occation...
// Use a ResultSetHandler implementation, ArrayHandler, to convert the
// first row into an Object[].
ResultSetHandler<Object[]> handler = new ArrayHandler();
// Create a QueryRunner that will use connections from
// the given DataSource
QueryRunner runner = new QueryRunner(dataSource);
// Generate a QueryExecutor for the query
QueryExecutor executor = runner.query("SELECT * FROM Person WHERE first_name=:first_name and last_name = :last_name");
@wspeirs
wspeirs / SimpleStatistics.java
Created November 13, 2013 03:55
Simple statistics using commons-math3
final DescriptiveStatistics descriptiveStats = new DescriptiveStatistics(); // stores values
final SummaryStatistics summaryStats = new SummaryStatistics(); // doesn't store values
final Frequency frequency = new Frequency();
// add numbers into our stats
for(int i=0; i < NUM_VALUES; ++i) {
values[i] = rng.nextInt(MAX_VALUE);
descriptiveStats.addValue(values[i]);
summaryStats.addValue(values[i]);
@Subscribe
public void getIntegerEvent(Integer event) throws InterruptedException {
TimeUnit.MILLISECONDS.sleep(sleep);
System.out.println(System.currentTimeMillis() + ":\t" + name + " got " + event);
}
@wspeirs
wspeirs / merged
Created January 20, 2013 17:25
Merged template and context.
Dear Bill-
This is an e-mail because you signed up for www.sop4j.com and we're really happy that you did.
Here are 3 cool articles you can read:
- Welcome
- Parsing the Command Line
- Document Templating or Mail Merge
@wspeirs
wspeirs / my_template.vm
Created January 20, 2013 17:24
Velocity template
## this is a single-line comment in the template
Dear ${user.Name}- ## notice we use the formal directive here because we want the - right after the variable
This is an e-mail because you signed up for $site and we're really happy that you did.
#*
This is how you check to see if a value is null
This is also a multi-line comment
*#
#if( $message )
This special message won't be shown because our \$message is null
@wspeirs
wspeirs / Velocity1.java
Created January 20, 2013 17:12
Configuring the Velocity engine
// create the velocity engine
final VelocityEngine velocity = new VelocityEngine();
// set the logger to our Log4J root logger
velocity.setProperty("runtime.log.logsystem.log4j.logger", "root");
// use the resource loader as it's easy with Maven's path setup
velocity.setProperty(RuntimeConstants.RESOURCE_LOADER, "classpath");
velocity.setProperty("classpath.resource.loader.class", ClasspathResourceLoader.class.getName());
@wspeirs
wspeirs / Velocity3.java
Created January 20, 2013 17:18
Merging Velocity context and template together.
// get the template
final Template template = velocity.getTemplate("my_template.vm");
final StringWriter sw = new StringWriter();
// merge the template and context
template.merge(context, sw);
// print out the resulting document
System.out.println(sw.toString());
@wspeirs
wspeirs / Velocity2.java
Created January 20, 2013 17:15
Setting the Velocity context.
// create the context to set all the variables
final VelocityContext context = new VelocityContext();
// setup the context
context.put("user", new UserBean("bill"));
context.put("site", "www.sop4j.com");
context.put("articles", Arrays.asList(new ArticleBean("Welcome"),
new ArticleBean("Parsing the Command Line"),
new ArticleBean("Document Templating or Mail Merge")));
@wspeirs
wspeirs / BasicOptions1.java
Created January 18, 2013 22:54
Methods for creation an Option
Options options = new Options();
// create the simple option without using the OptionBuilder
options.addOption("o", "opt", false, "An option, no args");
// simple help option using the builder
options.addOption(OptionBuilder.withLongOpt("help")
.create("h"));
// an option with a value separator, defaults to =