예제 #1
0
 public DictFireSkillQuality update(DictFireSkillQuality model, int instPlayerId)
     throws Exception {
   try {
     Object[] params = null;
     int version = model.getVersion() + 1;
     StringBuffer sql = new StringBuffer("update Dict_FireSkillQuality 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.dictFireSkillQualityMap.put(model.getId(), model);
       }
     }
   } catch (Exception e) {
     throw e;
   }
   return model;
 }
예제 #2
0
 @SuppressWarnings("unchecked")
 public DictFireSkillQuality getModel(int id, int instPlayerId) {
   try {
     PlayerMemObj playerMemObj = getPlayerMemObjByPlayerId(instPlayerId);
     if (instPlayerId != 0 && isUseCach() && playerMemObj != null) {
       DictFireSkillQuality model = playerMemObj.dictFireSkillQualityMap.get(id);
       if (model == null) {
         String sql = "select * from Dict_FireSkillQuality where id=?";
         Object[] params = new Object[] {id};
         playerMemObj.dictFireSkillQualityMap.put(
             id,
             (DictFireSkillQuality)
                 this.getJdbcTemplate().queryForObject(sql, params, new ItemMapper()));
       } else {
         int cacheVersion = model.getVersion();
         List<Map<String, Object>> list =
             sqlHelper("select version from Dict_FireSkillQuality where id = " + id);
         int dbVersion = (int) list.get(0).get("version");
         if (cacheVersion != dbVersion) {
           String sql = "select * from Dict_FireSkillQuality where id=?";
           Object[] params = new Object[] {id};
           playerMemObj.dictFireSkillQualityMap.put(
               id,
               (DictFireSkillQuality)
                   this.getJdbcTemplate().queryForObject(sql, params, new ItemMapper()));
         }
       }
       model = playerMemObj.dictFireSkillQualityMap.get(id);
       model.result = "";
       return model;
     } else {
       String sql = "select * from Dict_FireSkillQuality where id=?";
       Object[] params = new Object[] {id};
       DictFireSkillQuality model =
           (DictFireSkillQuality)
               this.getJdbcTemplate().queryForObject(sql, params, new ItemMapper());
       model.result = "";
       return model;
     }
   } catch (DataAccessException e) {
     return null;
   }
 }
예제 #3
0
  public DictFireSkillQuality add(final DictFireSkillQuality model, int instPlayerId)
      throws Exception {
    try {
      StringBuilder strSql = new StringBuilder();
      strSql.append(" insert into Dict_FireSkillQuality (");
      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.dictFireSkillQualityMap.put(model.getId(), model);
      }
    } catch (Exception e) {
      throw e;
    }
    return model;
  }
예제 #4
0
 private List<DictFireSkillQuality> listCacheCommonHandler(String sql, int instPlayerId) {
   List<DictFireSkillQuality> modelList = new ArrayList<DictFireSkillQuality>();
   PlayerMemObj playerMemObj = getPlayerMemObjByPlayerId(instPlayerId);
   SqlRowSet rsSet = this.getJdbcTemplate().queryForRowSet(sql.toString());
   while (rsSet.next()) {
     int id = rsSet.getInt("id");
     int dbVersion = rsSet.getInt("version");
     DictFireSkillQuality model = playerMemObj.dictFireSkillQualityMap.get(id);
     if (model == null) {
       model = getModel(id, instPlayerId);
       model.result = "";
       modelList.add(model);
     } else {
       int cacheVersion = model.getVersion();
       if (cacheVersion != dbVersion) {
         model = getModel(id, instPlayerId);
       }
       model.result = "";
       modelList.add(model);
     }
   }
   return modelList;
 }
예제 #5
0
 public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
   DictFireSkillQuality dictFireSkillQuality = new DictFireSkillQuality();
   dictFireSkillQuality.setId(rs.getInt("id"), 0);
   dictFireSkillQuality.setName(rs.getString("name"), 0);
   dictFireSkillQuality.setSname(rs.getString("sname"), 0);
   dictFireSkillQuality.setDescription(rs.getString("description"), 0);
   dictFireSkillQuality.setVersion(rs.getInt("version"), 0);
   return dictFireSkillQuality;
 }