public DictKungFuType update(DictKungFuType model, int instPlayerId) throws Exception { try { Object[] params = null; int version = model.getVersion() + 1; StringBuffer sql = new StringBuffer("update Dict_KungFuType set "); sql.append("name=?,sname=?,description=?,version=? "); sql.append("where id=? and version=?"); params = new Object[] { model.getName(), model.getSname(), model.getDescription(), version, model.getId(), model.getVersion() }; int count = this.getJdbcTemplate().update(sql.toString(), params); if (count == 0) { throw new Exception("Concurrent Exception"); } else { model.setVersion(version, 0); PlayerMemObj playerMemObj = getPlayerMemObjByPlayerId(instPlayerId); if (instPlayerId != 0 && isUseCach() && playerMemObj != null) { playerMemObj.dictKungFuTypeMap.put(model.getId(), model); } } } catch (Exception e) { throw e; } return model; }
public DictKungFuType add(final DictKungFuType model, int instPlayerId) throws Exception { try { StringBuilder strSql = new StringBuilder(); strSql.append(" insert into Dict_KungFuType ("); strSql.append("name,sname,description,version"); strSql.append(" )"); strSql.append(" values (?,?,?,?) "); final String sql = strSql.toString(); KeyHolder keyHolder = new GeneratedKeyHolder(); this.getJdbcTemplate() .update( new PreparedStatementCreator() { public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, model.getName()); ps.setString(2, model.getSname()); ps.setString(3, model.getDescription()); ps.setInt(4, 0); return ps; } }, keyHolder); model.setId(keyHolder.getKey().intValue()); model.setVersion(0); PlayerMemObj playerMemObj = getPlayerMemObjByPlayerId(instPlayerId); if (instPlayerId != 0 && isUseCach() && playerMemObj != null) { playerMemObj.dictKungFuTypeMap.put(model.getId(), model); } } catch (Exception e) { throw e; } return model; }