List of usage examples for org.springframework.jdbc.core.namedparam BeanPropertySqlParameterSource BeanPropertySqlParameterSource
public BeanPropertySqlParameterSource(Object object)
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; }