
test.googlecode.genericdao.databaseinitializer.SqlUpdateStatementBuilder Maven / Gradle / Ivy
The newest version!
package test.googlecode.genericdao.databaseinitializer;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
public class SqlUpdateStatementBuilder extends SqlStatementBuilder {
@Override
protected void buildSql() {
beginSql();
appendTableName();
appendSetClause();
appendWhereClause();
}
protected void beginSql() {
sql.append("UPDATE ");
}
protected void appendSetClause() {
List assignments = new ArrayList();
for (Entry entry : columnValues) {
assignments.add(entry.getKey() + " = " + parameterPlaceholderOrNULL(entry.getValue()));
}
sql.append(" SET ");
appendCommaDelimitedList(assignments);
}
protected void appendWhereClause() {
List whereConditions = new ArrayList();
for (Entry entry : keyValues) {
whereConditions.add(entry.getKey() + " = ?");
}
if (!whereConditions.isEmpty()) {
sql.append(" WHERE ");
appendDelimitedList(whereConditions, " AND ");
}
}
@Override
protected void setStatementParameterValues() throws SQLException {
super.setStatementParameterValues();
setKeyValueParameters();
}
protected void setKeyValueParameters() throws SQLException {
setParameters(keyValues);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy