Example usage for org.springframework.jdbc.core.namedparam BeanPropertySqlParameterSource BeanPropertySqlParameterSource

List of usage examples for org.springframework.jdbc.core.namedparam BeanPropertySqlParameterSource BeanPropertySqlParameterSource

Introduction

In this page you can find the example usage for org.springframework.jdbc.core.namedparam BeanPropertySqlParameterSource BeanPropertySqlParameterSource.

Prototype

public BeanPropertySqlParameterSource(Object object) 

Source Link

Document

Create a new BeanPropertySqlParameterSource for the given bean.

Usage

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

/**
 * sqlserver,mysql ?/*from w w w  . ja v  a 2s  .c  o  m*/
 */
protected void insertWithGeneratedKey(Object entity, String insertSql) {
    KeyHolder keyHolder = new GeneratedKeyHolder();
    getNamedParameterJdbcTemplate().update(insertSql, new BeanPropertySqlParameterSource(entity), keyHolder);
    setIdentifierProperty(entity, keyHolder.getKey().longValue());
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

protected void insertWithSequence(Object entity, AbstractSequenceMaxValueIncrementer sequenceIncrementer,
        String insertSql) {/*  ww w .  j  a  v  a  2 s  .co m*/
    Long id = sequenceIncrementer.nextLongValue();
    setIdentifierProperty(entity, id);
    getNamedParameterJdbcTemplate().update(insertSql, new BeanPropertySqlParameterSource(entity));
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

protected void insertWithUUID(Object entity, String insertSql) {
    String uuid = UUID.randomUUID().toString().replace("-", "");
    setIdentifierProperty(entity, uuid);
    getNamedParameterJdbcTemplate().update(insertSql, new BeanPropertySqlParameterSource(entity));
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

/**
 * ?ID?//from  ww w  .  jav  a  2 s  . c o  m
 * @param entity
 * @param insertSql
 */
protected void insertWithAssigned(Object entity, String insertSql) {
    getNamedParameterJdbcTemplate().update(insertSql, new BeanPropertySqlParameterSource(entity));
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

public E getById(PK id) {
    List list = null;/*from  w w w.  j  av a2  s .  c om*/
    if (getSqlGenerator().getTable().getPrimaryKeyCount() > 1) {
        list = getNamedParameterJdbcTemplate().query(getSqlGenerator().getSelectByPkSql(),
                new BeanPropertySqlParameterSource(id), new BeanPropertyRowMapper(getEntityClass()));
    } else if (getSqlGenerator().getTable().getPrimaryKeyCount() == 1) {
        list = getSimpleJdbcTemplate().query(getSqlGenerator().getSelectByPkSql(),
                ParameterizedBeanPropertyRowMapper.newInstance(getEntityClass()), id);
    } else {
        throw new IllegalStateException(
                "not found primary key on table:" + getSqlGenerator().getTable().getTableName());
    }
    return (E) CollectionHelper.findSingleObject(list);
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

public void deleteById(PK id) {
    if (getSqlGenerator().getTable().getPrimaryKeyCount() > 1) {
        getNamedParameterJdbcTemplate().update(getSqlGenerator().getDeleteByPkSql(),
                new BeanPropertySqlParameterSource(id));
    } else if (getSqlGenerator().getTable().getPrimaryKeyCount() == 1) {
        getSimpleJdbcTemplate().update(getSqlGenerator().getDeleteByPkSql(), id);
    } else {//from  ww w .  j  a  v  a 2 s.com
        throw new IllegalStateException(
                "not found primary key on table:" + getSqlGenerator().getTable().getTableName());
    }
}

From source file:org.pssframework.dao.BaseSpringJdbcDao.java

public void update(E entity) {
    String sql = getSqlGenerator().getUpdateByPkSql();
    getNamedParameterJdbcTemplate().update(sql, new BeanPropertySqlParameterSource(entity));
}

From source file:ru.org.linux.site.Message.java

public boolean updateMessageText(Connection db, User editor, List<String> newTags) throws SQLException {
    SingleConnectionDataSource scds = new SingleConnectionDataSource(db, true);

    PreparedStatement pstGet = db.prepareStatement(
            "SELECT message,title FROM msgbase JOIN topics ON msgbase.id=topics.id WHERE topics.id=? FOR UPDATE");

    pstGet.setInt(1, msgid);/*from w  w w.  j  a va 2  s  .  c o  m*/
    ResultSet rs = pstGet.executeQuery();
    if (!rs.next()) {
        throw new RuntimeException("Can't fetch previous message text");
    }

    String oldMessage = rs.getString("message");
    String oldTitle = rs.getString("title");

    rs.close();
    pstGet.close();

    List<String> oldTags = Tags.getMessageTags(db, msgid);

    EditInfoDTO editInfo = new EditInfoDTO();

    editInfo.setMsgid(msgid);
    editInfo.setEditor(editor.getId());

    boolean modified = false;

    SimpleJdbcTemplate jdbcTemplate = new SimpleJdbcTemplate(scds);

    if (!oldMessage.equals(message)) {
        editInfo.setOldmessage(oldMessage);
        modified = true;

        jdbcTemplate.update("UPDATE msgbase SET message=:message WHERE id=:msgid",
                ImmutableMap.of("message", message, "msgid", msgid));
    }

    if (!oldTitle.equals(title)) {
        modified = true;
        editInfo.setOldtitle(oldTitle);

        jdbcTemplate.update("UPDATE topics SET title=:title WHERE id=:id",
                ImmutableMap.of("title", title, "id", msgid));
    }

    if (newTags != null) {
        boolean modifiedTags = Tags.updateTags(db, msgid, newTags);

        if (modifiedTags) {
            editInfo.setOldtags(Tags.toString(oldTags));
            Tags.updateCounters(db, oldTags, newTags);
            modified = true;
        }
    }

    if (modified) {
        SimpleJdbcInsert insert = new SimpleJdbcInsert(scds).withTableName("edit_info").usingColumns("msgid",
                "editor", "oldmessage", "oldtitle", "oldtags");

        insert.execute(new BeanPropertySqlParameterSource(editInfo));
    }

    return modified;
}

From source file:ru.org.linux.topic.TopicDao.java

private boolean updateMessage(Topic oldMsg, Topic msg, User editor, List<String> newTags) {
    List<String> oldTags = tagDao.getMessageTags(msg.getId());

    EditInfoDto editInfo = new EditInfoDto();

    editInfo.setMsgid(msg.getId());/* ww w. ja  va  2 s .co  m*/
    editInfo.setEditor(editor.getId());

    boolean modified = false;

    if (!oldMsg.getMessage().equals(msg.getMessage())) {
        editInfo.setOldmessage(oldMsg.getMessage());
        modified = true;

        namedJdbcTemplate.update("UPDATE msgbase SET message=:message WHERE id=:msgid",
                ImmutableMap.of("message", msg.getMessage(), "msgid", msg.getId()));
    }

    if (!oldMsg.getTitle().equals(msg.getTitle())) {
        modified = true;
        editInfo.setOldtitle(oldMsg.getTitle());

        namedJdbcTemplate.update("UPDATE topics SET title=:title WHERE id=:id",
                ImmutableMap.of("title", msg.getTitle(), "id", msg.getId()));
    }

    if (!equalStrings(oldMsg.getLinktext(), msg.getLinktext())) {
        modified = true;
        editInfo.setOldlinktext(oldMsg.getLinktext());

        namedJdbcTemplate.update("UPDATE topics SET linktext=:linktext WHERE id=:id",
                ImmutableMap.of("linktext", msg.getLinktext(), "id", msg.getId()));
    }

    if (!equalStrings(oldMsg.getUrl(), msg.getUrl())) {
        modified = true;
        editInfo.setOldurl(oldMsg.getUrl());

        namedJdbcTemplate.update("UPDATE topics SET url=:url WHERE id=:id",
                ImmutableMap.of("url", msg.getUrl(), "id", msg.getId()));
    }

    if (newTags != null) {
        boolean modifiedTags = tagDao.updateTags(msg.getId(), newTags);

        if (modifiedTags) {
            editInfo.setOldtags(TagDao.toString(oldTags));
            tagDao.updateCounters(oldTags, newTags);
            modified = true;
        }
    }

    if (oldMsg.isMinor() != msg.isMinor()) {
        namedJdbcTemplate.update("UPDATE topics SET minor=:minor WHERE id=:id",
                ImmutableMap.of("minor", msg.isMinor(), "id", msg.getId()));
        modified = true;
    }

    if (modified) {
        editInsert.execute(new BeanPropertySqlParameterSource(editInfo));
    }

    return modified;
}