Example usage for org.apache.commons.dbutils QueryRunner update

List of usage examples for org.apache.commons.dbutils QueryRunner update

Introduction

In this page you can find the example usage for org.apache.commons.dbutils QueryRunner update.

Prototype

public int update(Connection conn, String sql, Object... params) throws SQLException 

Source Link

Document

Execute an SQL INSERT, UPDATE, or DELETE query.

Usage

From source file:org.codesearch.commons.database.DBAccessImpl.java

/**
 * {@inheritDoc}//from   www .  j a  v a2s .  c  o m
 */
@Override
public synchronized void deleteFile(String filePath, String repository) throws DatabaseAccessException {
    QueryRunner run = new QueryRunner(dataSource);
    try {
        run.update(STMT_DELETE_FILE, filePath, repository);
    } catch (SQLException ex) {
        throw new DatabaseAccessException("SQLException while trying to access the database\n" + ex);
    }
}

From source file:org.dbmfs.DatabaseAccessor.java

public boolean insertData(String tableName, Map<String, Object> dataObject) throws Exception {

    try {//from  ww  w. j  a  va  2 s.  c  o  m
        Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(tableName, false);

        // QueryParameter
        List queryParams = new ArrayList();
        List<Integer> queryParamTypes = new ArrayList();

        // ??
        StringBuilder queryBuf = new StringBuilder();
        StringBuilder valuesBuf = new StringBuilder();

        queryBuf.append("insert into ");
        queryBuf.append(tableName);
        queryBuf.append(" ( ");
        valuesBuf.append(" values(");
        String sep = "";
        for (Map.Entry<String, Map<String, Object>> ent : allColumnMeta.entrySet()) {
            valuesBuf.append(sep);
            queryBuf.append(sep);

            String columnName = ent.getKey();
            Map columnMeta = ent.getValue();

            queryBuf.append(columnName);

            Object columnData = dataObject.get(columnName);
            if (columnData != null) {
                queryParams.add(columnData);
                queryParamTypes.add((Integer) columnMeta.get("type"));

                valuesBuf.append("?");
            } else {
                valuesBuf.append("null");
            }
            sep = ",";
        }

        queryBuf.append(" ) ");
        valuesBuf.append(" ) ");
        queryBuf.append(valuesBuf.toString());

        QueryRunner qr = new QueryRunner();

        int insertCount = qr.update(injectConn, queryBuf.toString(), queryParams.toArray(new Object[0]));
    } catch (SQLException se) {

        se.printStackTrace();
        throw se;
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
    return true;
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * DB??Update?// ww w. j  ava  2  s  .c  om
 *
 */
public boolean updateData(String tableName, Map<String, Object> dataObject) throws Exception {

    try {
        // ????
        List<String> pKeyNameList = getPrimaryKeyColumnNames(tableName);
        Map<String, Object> pKeyObjectMap = new LinkedHashMap();

        // ???Object???
        for (String pKeyName : pKeyNameList) {
            Object pKeyValue = dataObject.remove(pKeyName);
            if (pKeyValue != null) {
                pKeyObjectMap.put(pKeyName, pKeyValue);
            }
        }

        // ??
        if (pKeyObjectMap.size() == 0)
            return false;

        // QueryParameter
        List setParams = new ArrayList();
        List whereParams = new ArrayList();

        // ??
        StringBuilder setBuf = new StringBuilder();
        StringBuilder whereBuf = new StringBuilder();

        setBuf.append("update  ");
        setBuf.append(tableName);
        setBuf.append(" set ");
        whereBuf.append(" where ");

        String setSep = "";
        String whereSep = "";

        // Update?Set?
        for (Map.Entry<String, Object> ent : dataObject.entrySet()) {
            String columnName = ent.getKey();
            Object columnValue = ent.getValue();

            setBuf.append(setSep);

            // Set??
            setBuf.append(columnName);
            setBuf.append(" = ? ");
            setParams.add(columnValue);
            setSep = ",";

        }

        // Update?where?
        for (Map.Entry<String, Object> ent : pKeyObjectMap.entrySet()) {
            String columnName = ent.getKey();
            Object columnValue = ent.getValue();

            // where??
            whereBuf.append(whereSep);

            if (columnValue == null) {

                whereBuf.append(columnName);
                whereBuf.append(" is null ");
                setParams.add(columnValue);
            } else {

                whereBuf.append(columnName);
                whereBuf.append(" = ? ");
                whereParams.add(columnValue);
            }
            whereSep = " and ";
        }

        // ??
        setBuf.append(whereBuf.toString());
        // ??
        setParams.addAll(whereParams);

        QueryRunner qr = new QueryRunner();
        int updateCount = qr.update(injectConn, setBuf.toString(), setParams.toArray(new Object[0]));

        if (updateCount != 1) {
            return false;
        } else {
            removeDataCache(tableName, pKeyObjectMap);
            return true;
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * DB??Delete?/*from ww  w. j a  va 2  s.  c om*/
 *
 */
public boolean deleteData(String tableName, String pKeyConcatStr) throws Exception {
    boolean ret = false;
    try {
        // ?
        List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(tableName);

        if (primaryKeyColumnNames == null || primaryKeyColumnNames.size() == 0)
            return false;

        // ?
        String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep);

        if (keyStrSplit.length != primaryKeyColumnNames.size())
            return false;

        // ??
        StringBuilder queryBuf = new StringBuilder();
        queryBuf.append("delete from ");
        queryBuf.append(tableName);
        queryBuf.append(" where ");

        // ()?
        Object[] params = new Object[primaryKeyColumnNames.size()];

        String whereSep = "";
        for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) {
            params[idx] = keyStrSplit[idx];
            queryBuf.append(whereSep);
            queryBuf.append(primaryKeyColumnNames.get(idx));
            queryBuf.append(" = ? ");
            whereSep = " and ";
        }

        QueryRunner qr = new QueryRunner();
        int updateCount = qr.update(injectConn, queryBuf.toString(), params);

        if (updateCount != 1) {
            return false;
        } else {
            // 
            removeDataCache(tableName, pKeyConcatStr);
            return true;
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Update task.//from  ww w  .  j  a  v a  2s. c  o m
 *
 * @param step
 *            task object
 * @return int
 */
public int updateStep(StepObject step) throws SQLException {
    int ret = -1;
    Connection connection = helper.getConnection();
    try {
        QueryRunner run = new QueryRunner();
        StringBuilder sql = new StringBuilder();
        sql.append("UPDATE task SET title = ? , ");
        sql.append("ordering = ? , ");
        sql.append("processingStatus = ? , ");
        Timestamp time = null;
        sql.append("processingTime = ? , ");
        if (step.getProcessingTime() != null) {
            time = new Timestamp(step.getProcessingTime().getTime());

        }
        Timestamp start = null;
        sql.append("processingBegin = ? , ");
        if (step.getProcessingBegin() != null) {
            start = new Timestamp(step.getProcessingBegin().getTime());
        }
        Timestamp end = null;
        sql.append("processingEnd = ? , ");
        if (step.getProcessingEnd() != null) {
            end = new Timestamp(step.getProcessingEnd().getTime());
        }

        sql.append("processingUser_id = ? , ");
        sql.append("editType = ?, ");
        sql.append("typeAutomatic = ? ");
        sql.append(" WHERE id = ? ");
        Object[] param = { step.getTitle(), step.getOrdering(), step.getProcessingStatus(), time, start, end,
                step.getProcessingUser(), step.getEditType(), step.isTypeAutomatic(), step.getId() };
        if (logger.isDebugEnabled()) {
            logger.debug("saving step: " + sql.toString() + ", " + Arrays.toString(param));
        }

        run.update(connection, sql.toString(), param);
        // logger.debug(sql);
        ret = step.getId();
        return ret;
    } finally {
        closeConnection(connection);
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Add history.//from www  .  j av  a2 s .  c o  m
 *
 * @param date
 *            date
 * @param order
 *            order
 * @param value
 *            String
 * @param type
 *            type
 * @param processId
 *            id of process
 */
public void addHistory(Date date, double order, String value, int type, int processId) throws SQLException {
    Connection connection = helper.getConnection();
    Timestamp datetime = new Timestamp(date.getTime());

    try {
        QueryRunner run = new QueryRunner();
        // String propNames = "numericValue, stringvalue, type, date,
        // processId";
        Object[] param = { order, value, type, datetime, processId };
        String sql = "INSERT INTO " + "history" + " (numericValue, stringValue, type, date, process_id) VALUES "
                + "( ?, ?, ?, ? ,?)";
        if (logger.isTraceEnabled()) {
            logger.trace("added history event " + sql + ", " + Arrays.toString(param));
        }
        run.update(connection, sql, param);
    } finally {
        closeConnection(connection);
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Update process' status.//from   ww w  .j  av  a  2  s . c om
 *
 * @param value
 *            String
 * @param processId
 *            id of process
 */
public void updateProcessStatus(String value, int processId) throws SQLException {
    Connection connection = helper.getConnection();
    try {
        QueryRunner run = new QueryRunner();
        StringBuilder sql = new StringBuilder();
        Object[] param = { value, processId };
        sql.append("UPDATE process SET sortHelperStatus = ? WHERE id = ?");
        logger.debug(sql.toString() + ", " + Arrays.toString(param));
        run.update(connection, sql.toString(), param);
    } finally {
        closeConnection(connection);
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Update Images./*  ww w.  ja  va  2 s. c  om*/
 *
 * @param numberOfFiles
 *            amount of image files to update
 * @param processId
 *            id of process
 */
public void updateImages(Integer numberOfFiles, int processId) throws SQLException {
    Connection connection = helper.getConnection();
    try {
        QueryRunner run = new QueryRunner();
        StringBuilder sql = new StringBuilder();
        Object[] param = { numberOfFiles, processId };
        sql.append("UPDATE process SET sortHelperImages = ? WHERE id = ?");
        logger.debug(sql.toString() + ", " + Arrays.toString(param));
        run.update(connection, sql.toString(), param);
    } finally {
        closeConnection(connection);
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Update process log.//from www . j  a  v  a  2 s  .  co  m
 *
 * @param logValue
 *            String
 * @param processId
 *            id of process
 */
public void updateProcessLog(String logValue, int processId) throws SQLException {
    Connection connection = helper.getConnection();
    try {
        QueryRunner run = new QueryRunner();
        StringBuilder sql = new StringBuilder();
        Object[] param = { logValue, processId };
        sql.append("UPDATE process SET wikiField = ? WHERE id = ?");
        logger.debug(sql.toString() + ", " + Arrays.toString(param));
        run.update(connection, sql.toString(), param);
    } finally {
        closeConnection(connection);
    }
}

From source file:org.kitodo.data.database.persistence.apache.MySQLHelper.java

/**
 * Add filter to user./*from ww w.  jav  a  2s.c  om*/
 *
 * @param userId
 *            id of user
 * @param filterstring
 *            String
 */
public static void addFilterToUser(int userId, String filterstring) throws SQLException {
    Connection connection = helper.getConnection();
    Timestamp datetime = new Timestamp(new Date().getTime());
    try {
        QueryRunner run = new QueryRunner();
        String propNames = "title, value, obligatory, dataType, choice, creationDate, user_id";
        Object[] param = { "_filter", filterstring, false, 5, null, datetime, userId };
        String sql = "INSERT INTO " + "userProperty" + " (" + propNames + ") VALUES ( ?, ?,? ,? ,? ,?,? )";
        if (logger.isDebugEnabled()) {
            logger.debug(sql + ", " + Arrays.toString(param));
        }
        run.update(connection, sql, param);
    } finally {
        closeConnection(connection);
    }
}