Пример #1
0
  /** 保存用户帐号 */
  @Override
  public void save(User user) {
    user.setCreatedOn(new Date());
    try {
      Connection connection = super.getConnection();
      PreparedStatement statement =
          connection.prepareStatement(SAVE_SQL, Statement.RETURN_GENERATED_KEYS);
      statement.setString(1, user.getUsername());
      statement.setString(2, user.getEmail());
      statement.setString(3, user.getPassword());
      statement.setString(4, user.getSalt());
      statement.setString(5, user.getNickname());
      statement.setString(6, user.getGender());
      statement.setString(7, user.getJob());
      statement.setString(8, user.getPhone());
      statement.setString(9, user.getTelephone());
      statement.setString(10, user.getAvatar());
      statement.setString(11, user.getSignature());
      statement.setString(12, user.getSpeciality());
      statement.setString(13, user.getPreference());
      statement.setString(14, user.getProvince());
      statement.setString(15, user.getCity());
      statement.setString(16, user.getDistrict());
      statement.setString(17, user.getAddress());
      statement.setTimestamp(18, new Timestamp(user.getCreatedOn().getTime()));

      statement.execute();
      ResultSet rs = statement.getGeneratedKeys();
      while (rs.next()) {
        user.setId(rs.getInt(1));
      }
      rs.close();
      statement.close();
      logger.debug("saved {}", user);
    } catch (SQLException e) {
      throw new BusinessException("Database exception", e);
    }
  }