@Override public User mapRow(ResultSet rs, int rowNum) throws SQLException { // id, username, email, password, salt, identity_verified, nickname, // gender, job, phone, telephone, avatar, signature, speciality, // preference, province, city, district, address, created_on, // version, enable User user = new User(); user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setEmail(rs.getString("email")); user.setPassword(rs.getString("password")); user.setSalt(rs.getString("salt")); user.setIdentityVerified(rs.getBoolean("identity_verified")); user.setNickname(rs.getString("nickname")); user.setGender(rs.getString("gender")); user.setJob(rs.getString("job")); user.setPhone(rs.getString("phone")); user.setTelephone(rs.getString("telephone")); user.setAvatar(rs.getString("avatar")); user.setSignature(rs.getString("signature")); user.setSpeciality(rs.getString("speciality")); user.setPreference(rs.getString("preference")); user.setProvince(rs.getString("province")); user.setCity(rs.getString("city")); user.setDistrict(rs.getString("district")); user.setAddress(rs.getString("address")); user.setCreatedOn(rs.getTimestamp("created_on")); user.setEnable(rs.getBoolean("enable")); return user; }
/** 保存用户帐号 */ @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); } }
/** 更新用户帐号信息 */ @Override @UpdatesToCache({ @UpdateToCache(mapName = CacheConstants.CACHE_USER_ID_TO_USER, key = "${user.id}"), @UpdateToCache(mapName = CacheConstants.CACHE_USERNAME_TO_USER_ID, key = "${user.username}"), @UpdateToCache(mapName = CacheConstants.CACHE_EMAIL_TO_USER_ID, key = "${user.email}"), @UpdateToCache(mapName = CacheConstants.CACHE_LOGIN_NAME_TO_USER_ID, key = "${user.username}"), @UpdateToCache(mapName = CacheConstants.CACHE_LOGIN_NAME_TO_USER_ID, key = "${user.email}") }) public void update(User user) { super.getJdbcTemplate() .update( UPDATE_USER_SQL, user.getNickname(), user.getGender(), user.getJob(), user.getPhone(), user.getTelephone(), user.getAvatar(), user.getSignature(), user.getSpeciality(), user.getPreference(), user.getProvince(), user.getCity(), user.getDistrict(), user.getAddress(), user.getId()); logger.debug("updated {}", user); }