1. A computer implemented method of generating a database query based on a query template comprising a plurality of query language keywords, a plurality of variables, and a plurality of template-tokens, the method comprising: receiving at a computing device one or more values each associated with a respective one of the plurality of variables; and transforming the query template into the database query based on the one or more values, the plurality of variables, and the plurality of template-tokens.