Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 13726|Απάντηση: 0

[Πηγή] Οι σημειώσεις mybatis σχολιάζονται χρησιμοποιώντας τη διεπαφή Mapper

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 16/1/2019 1:00:53 μ.μ. | | | |
1. Μέθοδοι χαρτογράφησης που υποστηρίζονται από το mybatis

Οι μέθοδοι χαρτογράφησης που υποστηρίζονται από το mybatis περιλαμβάνουν mapper.xml αρχεία που βασίζονται σε διεπαφής xml και mapper που βασίζονται σε java.
Υπάρχουν τέσσερις κύριοι σχολιασμοί μεθόδων διεπαφής: @Insert, @Delete, @Update και @Select

2. Πώς να χαρτογραφήσετε χρησιμοποιώντας σχολιασμούς διεπαφής

Τα ακόλουθα πειράματα βασίζονται όλα σε t_user πίνακες και είναι δομημένα ως εξής:

2.1 Αύξηση @Insert

Υπάρχουν βασικά τρία σχήματα για αυτό, δηλαδή ο χειροκίνητος προσδιορισμός (επίπεδο εφαρμογής), το πρωτεύον κλειδί αυτόματης προσθήκης (μονός πίνακας επιπέδου δεδομένων) και η επιλογή πρωτεύοντος κλειδιού (πολλαπλός πίνακας επιπέδου δεδομένων).

1. Καθορίστε με μη αυτόματο τρόπο το πρωτεύον κλειδί στο επίπεδο εφαρμογής

Η μη αυτόματη μέθοδος δεν αντιμετωπίζει διαφορετικά το πρωτεύον κλειδί και θα δώσει στο πρωτεύον κλειδί μια τιμή όταν το επίπεδο εφαρμογής δημιουργεί το αντικείμενο πριν από την εισαγωγή, η οποία δεν διαφέρει από το κανονικό πεδίο κατά την εισαγωγή.

Στο παραπάνω παράδειγμα, το mybatis δεν γνωρίζει ποιο πεδίο είναι το πρωτεύον κλειδί και το id είναι το πεδίο πρωτεύοντος κλειδιού, αλλά δεν αντιμετωπίζεται διαφορετικά.

Σημειώστε ότι η μέθοδος #{username} είναι να χρησιμοποιήσετε το User ως το τρέχον περιβάλλον, έτσι ώστε κατά την πρόσβαση στα χαρακτηριστικά του User, να μπορείτε να γράψετε απευθείας το όνομα του χαρακτηριστικού.

2. Ο πίνακας προσθέτει το πρωτεύον κλειδί

Το αυτοπροσδιοριζόμενο πρωτεύον κλειδί αντιστοιχεί στην συμπλήρωση πρωτεύοντος κλειδιού στις ρυθμίσεις XML, ένα απλό παράδειγμα:

Χρησιμοποιήστε το Option για να αντιστοιχίσετε τις ιδιότητες του tag select που έχει οριστεί σε XML, το userGeneratordKeys για να υποδείξετε ότι θέλετε να χρησιμοποιήσετε ένα αυτοπροσαυξανόμενο πρωτεύον κλειδί και το keyProperty για να καθορίσετε το όνομα πεδίου του πεδίου του πρωτεύοντος κλειδιού.

Το πρωτεύον κλειδί αυτόματης αύξησης χρησιμοποιεί τις δυνατότητες αυτόματης αύξησης της υποκείμενης βάσης δεδομένων.

3. Επιλέξτε το πρωτεύον κλειδί

Επιλέξτε το πρωτεύον κλειδί για να δημιουργήσετε μια τιμή από το επίπεδο δεδομένων και χρησιμοποιήστε αυτήν την τιμή ως τιμή του πρωτεύοντος κλειδιού.


2.2 Διαγραφή @Delete

Κατά τη διαγραφή, απλώς γράψτε τη συνθήκη στην τιμή του σχολιασμού @Delete και επιστρέψτε έναν τύπο int ως τον αριθμό των εγγραφών που έχουν διαγραφεί επιτυχώς.


2.3 Αλλαγή @Update

Κατά την τροποποίηση, απλώς γράψτε την πρόταση SQL στην τιμή του @Update και επιστρέψτε έναν τύπο int για να υποδείξετε τον αριθμό των τροποποιημένων γραμμών εγγραφής.


2.4 Ελέγξτε @Select

Το ερώτημα είναι λίγο πιο περίπλοκο, επειδή το ερώτημα περιλαμβάνει τον τρόπο ορισμού των πεδίων που βρέθηκαν στο αντικείμενο και συνήθως υπάρχουν τρεις τρόποι:

1. Καθορίστε με μη αυτόματο τρόπο ένα ψευδώνυμο στη δήλωση SQL για να ταιριάζει

Όταν γράφετε δηλώσεις SQL, εκχωρήστε με μη αυτόματο τρόπο ένα ψευδώνυμο σε κάθε πεδίο για να ταιριάζει με τα χαρακτηριστικά του αντικειμένου, το οποίο είναι κατάλληλο για περιπτώσεις όπου το όνομα του πεδίου πίνακα και το όνομα του χαρακτηριστικού αντικειμένου είναι πολύ διαφορετικά και δεν υπάρχουν πολλά πεδία πίνακα.


2. Χρησιμοποιήστε τον αυτόματο μετασχηματισμό υπογράμμισης του mybatis

Το mybatis έχει μια επιλογή που ονομάζεται mapUnderscoreToCamelCase που ισχύει όταν το όνομα του πεδίου στον πίνακα είναι το ίδιο με το όνομα του χαρακτηριστικού του αντικειμένου, αλλά η διαφορά στη γραφή υπογράμμισης και καμπούρας.

Μετά τη διαμόρφωση του mapUnderscoreToCamelCase, το mybatis θα προσπαθήσει να μετατρέψει την υπογράμμιση σε εξόγκωμα κατά τη ρύθμιση των δεδομένων που βρίσκονται στο ResultSet στο αντικείμενο και, στη συνέχεια, θα συρράψει το σύνολο μπροστά για να ορίσει τα χαρακτηριστικά.

Ενεργοποιήστε τη μετατροπή:




Στη συνέχεια ρωτήστε:

Κοιτάζοντας το εκτυπωμένο αποτέλεσμα, birth_day χαρακτηριστικά συμπληρώνονται στο αντικείμενο:



3. Χρησιμοποιήστε το ResultMap

Εάν το όνομα πεδίου του πίνακα και το όνομα χαρακτηριστικού του αντικειμένου δεν είναι το ίδιο και υπάρχουν πολλά πεδία στον πίνακα, το ResultMap θα πρέπει να χρησιμοποιηθεί για προσαρμογή.


@Results αντιστοιχεί στο ResultMap σε XML και μπορείτε να καθορίσετε ένα αναγνωριστικό για αυτό, το οποίο μπορεί να χρησιμοποιηθεί για αναφορά αλλού, όπως για αναφορά στα παραπάνω αποτελέσματα:

Χρησιμοποιήστε @ResultMap για να παραπέμψετε σε ένα υπάρχον ResultMap, το οποίο μπορεί να οριστεί σε Java χρησιμοποιώντας @Results σχόλια ή σε XML χρησιμοποιώντας προσδιοριστικά resultMap.

2.5 Δείγμα κώδικα

User.java


UserMapper.java

3. Περίληψη

Πλεονεκτήματα της χρήσης σχολιασμών διεπαφής:

1. Είναι πιο βολικό και γρήγορο να γράφετε δηλώσεις χαρτογράφησης

Μειονεκτήματα της χρήσης σχολιασμών διεπαφής:

1. Είναι κατάλληλο για σχετικά απλές διαμορφώσεις και η διεπαφή δεν μπορεί να γίνει όταν είναι πολύ περίπλοκη.

2. Δεν είναι δυνατή η χρήση δυναμικής SQL, λίγο άγευστη.






Προηγούμενος:Το Demon Spirit Summon V4.1.8 χρησιμοποιείται με χαμηλούς τόνους
Επόμενος:Kirin Article Originality Detection Tool v2.0 (καταργήστε τα στοιχεία επικοινωνίας του συγγραφέα)
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com