/** 保存用户帐号 */ @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); } }