Constraint enforcement

Java में डेटा क्लीनिंग

Dennis Lee

Software Engineer

डेटा के लिए क्वालिटी कंट्रोल

  • Validation annotations: डेटा के लिए क्वालिटी कंट्रोल
  • Errors: देश गायब, अमान्य amount, नकारात्मक boxes shipped
  • Typos: 100 boxes की जगह 1000 boxes

 

 

Salesperson Country Product Date Amount Boxes Shipped
James Rudeforth UK Mint Chip Choco 4-Jan-22 $5320 100
Van Tuxwell India 85% Dark Bars 1-Aug-22 $7896 94
Gigi Bohling US Peanut Butter Cubes 7-Jul-22 $4501 91
Java में डेटा क्लीनिंग

बेसिक वेलिडेशन annotations

import jakarta.validation.constraints.NotNull;     // खाली फ़ील्ड्स के नियम इम्पोर्ट करें
import jakarta.validation.constraints.Size;        // स्ट्रिंग लंबाई के नियम इम्पोर्ट करें

public class ChocolateSale {
    @NotNull(message = "Salesperson cannot be empty")
    private String salesperson;


@NotNull(message = "Country cannot be empty") // कई नियम एक साथ लगाए जा सकते हैं @Size(min = 2, max = 50) // देश के नाम की लंबाई लागू करता है private String country;
@NotNull(message = "Product cannot be empty") private String product; }
Java में डेटा क्लीनिंग

न्यूमेरिक constraints

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
// संदेश आउटपुट बाद में दिखाएँगे
public class ChocolateSale {
    @Min(value = 0, message = "Sales amount must be positive")
    private Double amount;


@Min(value = 1, message = "Must ship at least 1 box") @Max(value = 1000, message = "Cannot ship more than 1000 boxes") private Integer boxesShipped; }
Java में डेटा क्लीनिंग

Constraint enforcement के लिए imports

// यूनिक वेलिडेशन errors स्टोर करता है (डुप्लिकेट नहीं)
import java.util.Set;
// एक वेलिडेशन error का विवरण रखता है (फ़ील्ड, संदेश, आदि)
import jakarta.validation.ConstraintViolation;
// वैलिडेटर्स बनाने का entry point
import jakarta.validation.Validation;
// नियमों के विरुद्ध डेटा चेक करता है
import jakarta.validation.Validator;
// कॉन्फ़िगर किए गए वैलिडेटर्स बनाता है
import jakarta.validation.ValidatorFactory;
// वेलिडेशन फेल होने पर थ्रो होता है
import jakarta.validation.ConstraintViolationException;
Java में डेटा क्लीनिंग

वैलिडेटर लागू करना

class SalesValidator {
    // हमारा डेटा चेक करने के टूल बनाएं
    private static final ValidatorFactory factory = Validation.buildDefaultValidatorFactory();

// सेल रिकॉर्ड्स चेक करने के लिए एक वैलिडेटर लें private static final Validator validator = factory.getValidator();
public static Set<ConstraintViolation<ChocolateSale>> validateSale(ChocolateSale sale) { // सेल रिकॉर्ड चेक करें और मिली समस्याएँ लौटाएँ return validator.validate(sale); } }
Java में डेटा क्लीनिंग

वैलिडेशन परिणाम संभालना

public class Main {
    public static void main(String[] args) {
        // कुछ अमान्य डेटा के साथ सेल बनाएं (null country, negative amount)
        ChocolateSale sale = new ChocolateSale("James Rudeforth", null, "Mint Chip Choco",
                LocalDate.parse("2022-01-04"), -5320.0, 1500);


// वेलिडेशन उल्लंघनों के लिए सेल चेक करें Set<ConstraintViolation<ChocolateSale>> violations = SalesValidator.validateSale(sale); // हर वेलिडेशन error संदेश प्रिंट करें violations.forEach(violation -> System.out.println(violation.getMessage()));
// यदि कोई उल्लंघन मिले, तो exception थ्रो करें if (!violations.isEmpty()) throw new ConstraintViolationException(violations); } }
Java में डेटा क्लीनिंग

वैलिडेशन आउटपुट

Country cannot be empty
Sales amount must be positive
Cannot ship more than 1000 boxes

Exception in thread "main" jakarta.validation.ConstraintViolationException
Java में डेटा क्लीनिंग

वैलिडेशन महंगी गलतियों से बचाता है

  • @NotNull, @Size, @Min, और @Max शुरुआती स्तर पर errors पकड़ते हैं
  • वेलिडेशन तकनीकें सामान्य बिज़नेस समस्याओं पर लागू करें
  • महंगे डेटा errors के खिलाफ पहली सुरक्षा लाइन

फैक्ट्री में छाने जा रहे कोकोआ बीन्स

Java में डेटा क्लीनिंग

अभ्यास करते हैं!

Java में डेटा क्लीनिंग

Preparing Video For Download...