package org.jcommons.db.query; import java.io.Serializable; /** * A query with named parameters that can be used as a prepared statement. * * Example query would be * * <pre> * select name from customer where customer_id = :customer and name like :search * </pre> * * Parameters are <code>customer</code> and <code>search</code>. In this case usage would be as follows: * * <pre> * QueryString query = new QueryString("select name ..."); * QueryRunner db = new QueryRunner(getDataSource()); * * // easy single row execution * db.query(query.getSql(), query.with("customer", customer).with("search", "%motor%").asRow(), ...); * * // mapped single row execution * Map<String, Object> values = ... * values.put("customer", customer); * valued.put("search", "%motor%"); * db.query(query.getSql(), query.with(values).asRow(), ...); * * // easy multiple row execution * // column names should match parameter names, if not use translation table * Map<String, String> translate = ... * translate.put(columnName, parameterName); * String[] headers = ... * Object[][] values = ... * * db.query(query.getSql(), query.header(headers).map(translate).with(values).asArray(), ...); * </pre> * * @author Thorsten Goeckeler */ public class QueryString implements Serializable { private static final long serialVersionUID = -4350007400588806587L; }