рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рди!
рдмреНрд░рд╛рдВрдб рдХреА рдирдИ рдзрд╛рд░рд╛
"рдбреЗрд╡рд▓рдкрд░ рдСрди рдж рд╕реНрдкреНрд░рд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ" рд╢реБрд░реВ рд╣реБрдИ, "рдЕрдЪрд╛рдирдХ", рдпрд╣ рдкрд╛рдареНрдпрдХреНрд░рдо рджреЛрдиреЛрдВ рдирдП рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдирд┐рдпрдорд┐рдд" рдЬрд╛рд╡рд╛ рдФрд░ рдЙрджреНрдпрдо рдкрд░ рд╣рдорд╕реЗ рдЕрдирдЬрд╛рди рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ
рдЦреБрд▓реЗ рдкрд╛рда рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдПрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╡рд┐рд╖рдп рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ MongoDB рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдиреБрд╡рд╛рдж
рдЖрдирдВрдж рдХреБрдорд╛рд░ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!
рдЖрдЬ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдмрдирд╛рдирд╛ рдФрд░ рдЪрд▓рд╛рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд╡реЗрджрди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдФрд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд╕рдВрдд рд╕рд┐рд░реНрдл рдПрдХ рдРрд╕рд╛ рдврд╛рдВрдЪрд╛ рд╣реИ рдЬреЛ рдХрдИ рдЕрдиреНрдп рд╡рд┐рднрд┐рдиреНрди рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдореЗрдВ рдЖрд╕рд╛рдиреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╕рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рд╣реА рдПрдХ рдПрдХреАрдХрд░рдг рд╣реИ MongoDB рдХреЗ рд╕рд╛рде рд╕реНрдкреНрд░рд┐рдВрдЧ рдХрд╛ рдПрдХреАрдХрд░рдгред
1. рдкрд░рд┐рдЪрдп рдЗрд╕ рдкрд╛рда рдореЗрдВ, рд╣рдо рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рд╕реНрдкреНрд░рд┐рдВрдЧ рдЬрд╛рд╡рд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдФрд░ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз NoSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо (DBMS) MongbDB рдХреЗ рд╕рдВрдпреЛрдЬрди рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред MongoDB рдПрдХ рдбреЙрдХреНрдпреВрдореЗрдВрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб NoSQL DBMS рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ JSON рдЬреИрд╕реЗ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдФрд░ MongoDB рдПрдХреАрдХрд░рдг, рд╡рд╕рдВрдд рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рджреЛрдиреЛрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдбрд╛рд▓рдиреЗ, рдЕрджреНрдпрддрди рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рд╢реНрди рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ MongoDB рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:
- рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдЖрдкрдХреЛ @Configuration рдХреНрд▓рд╛рд╕ рдФрд░ XML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рд╕реНрдкреНрд░рд┐рдВрдЧ рдЕрдкрд╡рд╛рдж рдЕрдкрд╡рд╛рдж рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЬрд╛рд╡рд╛ POJOs рдФрд░ рдПрдХ MongoDB рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдмреАрдЪ рдПрдХреАрдХреГрдд рдорд╛рдирдЪрд┐рддреНрд░рдгред
- MongoTemplate рд╡рд░реНрдЧ, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп MongoDB рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред
- MongoTemplate рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП MongoReader рдФрд░ MongoWriter рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХрд┐рд╕реА рднреА рддрдХрдиреАрдХ рдХреЛ рд╕рдордЭрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдареАрдХ рдпрд╣реА рдЕрдм рд╣рдо рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред
рдЪрд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЛрдВрдЧреЛрдмрдбреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рддреЗ рд╣реИрдВред
2. рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдФрд░ рдЙрдкрдХрд░рдгрдЖрдЗрдП рдЙрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
- Eclispe Oxygen.2 рд░рд┐рд▓реАрдЬ (4.7.2)
- рдЬрд╛рд╡рд╛ - рд╕рдВрд╕реНрдХрд░рдг 9.0.4
- рдЧрд╛рдж - 4.6
- MongoDB рд╕рд░реНрд╡рд░ - 3.6
- MongoCompass - 3.6
- рд╕реНрдкреНрд░рд┐рдВрдЧрдбреИрдореНрдкреЙрдиреНрдЧрдмреАрдбреА - 2.0.5-рдирд┐рдпрдо
3. рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ MongoDB рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдВрд░рдЪрдирд╛рдкреНрд░рд╡рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдврд╛рдВрдЪрд╛ рд╣реЛрдЧрд╛ред Pom.xml рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реЛрдЧреАред
4. рдХрд╛рд░реНрдпрдХреНрд░рдордЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
- MongoDB рдореЗрдВ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд╣реЗрдЬрдирд╛
- MongoDB рдореЗрдВ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛
- MongoDB рд╕реЗ рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ
- MongoDB рд╕реЗ рд╕рднреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдЖрдЗрдП рдЕрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рднреА рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред
рек.рез рдХреЛрдЯрд┐рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╣рдо рдЧреНрд░реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
build.gradle
рдлрд╝рд╛рдЗрд▓ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП
build.gradle
рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред
apply plugin: 'java' repositories { mavenCentral() } dependencies { compile group: 'org.springframework.data', name: 'spring-data-mongodb', version: '2.0.5.RELEASE' implementation 'com.google.guava:guava:23.0' testImplementation 'junit:junit:4.12' }
build.gradle
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд▓рд╛рдЗрди
apply plugin: 'java'
рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдкреНрд▓рдЧ-рдЗрди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдПрдХ рдЬрд╛рд╡рд╛ рдкреНрд▓рдЧрдЗрди рд╣реИред
repositories{}
рдЯреИрдЧ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЦреАрдВрдЪреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдордиреЗ рдирд┐рд░реНрднрд░ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП
mavenCentral
рдХреЛ рдЪреБрдирд╛ред рд╣рдо рд╕рдВрдЧрдд рдирд┐рд░реНрднрд░ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП jcenter рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
dependencies {}
рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬрд╛рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдКрдкрд░ рдЦреАрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
MongoDB рдХреЗ рд▓рд┐рдП 4.2 рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рдиMongoDB рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ
AbstractMongoConfiguration
рдХреНрд▓рд╛рд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
MongoConfig.java
рд╡рд░реНрдЧ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред рдпрд╣рд╛рдВ рд╣рдо xml рдХреЗ рдмрдЬрд╛рдп рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
MongoConfig.java рд╡рд░реНрдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
package com.tutorial.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.mongodb.config.AbstractMongoConfiguration; import com.mongodb.MongoClient; @Configuration public class MongoConfig extends AbstractMongoConfiguration { @Override public String getDatabaseName() { return "local"; } @Override @Bean public MongoClient mongoClient() { return new MongoClient("127.0.0.1"); } }
@Configuration
рдЙрдкрдпреЛрдЧ
MongoConfig.java
рд╡рд░реНрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
@Bean
MongoClient
рдиреЗ
MongoClient
рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред
4.3 рдореЙрдбрд▓ рд╡рд░реНрдЧрдЕрдм рдореЙрдбрд▓ рдХреЗ рд╡рд░реНрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╣рдо
student.java
рдХреЛ рдПрдХ рдореЙрдбрд▓ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЫрд╛рддреНрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдирд╛рдо рдФрд░ рдЖрдпреБред
Student.java
рдореЙрдбрд▓
Student.java
рдЙрдкрдпреЛрдЧ POJOs рдХреЛ MongoDB рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдЯреВрдбреЗрдВрдЯ рдореЙрдбрд▓ рдХреНрд▓рд╛рд╕
package com.tutorial.model; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; @Document(collection = "students") public class Student { public Student(String studentName, int studentAge) { this.studentName = studentName; this.studentAge = studentAge; } @Id private String id; String studentName; int studentAge; public String getStudentName() { return studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } public int getStudentAge() { return studentAge; } public void setStudentAge(int studentAge) { this.studentAge = studentAge; } @Override public String toString() { return String.format( "Student[id=%s, studentName='%s', studentAge="+studentAge+"]", id, studentName); } }
@Document
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
collection
рдЧреБрдг рдЙрд╕ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред POJO рд╡рд░реНрдЧ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╕реБрд▓рдн рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
@Id
рд╕рдВрдЧреНрд░рд╣ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред
4.4 CRUD рдСрдкрд░реЗрд╢рдиMongoDB рд╕реЗ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрдиреЗ, рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ, рд╣рдЯрд╛рдиреЗ, рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдЬреИрд╕реЗ CRUD рдСрдкрд░реЗрд╢рди (рдмрдирд╛рдиреЗ, рдкрдврд╝рдиреЗ, рдЕрдкрдбреЗрдЯ, рдбрд┐рд▓реАрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо
MongoOperations
рдЙрдкрдпреЛрдЧ
MongoOperations
ред
рдЕрдм рд╣рдо
MongoDBPOperations.java
рд╡рд░реНрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ CRUD рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдорд┐рд▓ рд╣реИред
MongoDBPOperations рд╡рд░реНрдЧ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ CRUD рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
package com.tutorial; import java.util.List; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import com.tutorial.model.Student; public class MongoDBPOperations { public void saveStudent(MongoOperations mongoOperation, Student student) { mongoOperation.save(student); System.out.println("Student saved successfully");
рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд░реНрдЧ рд╡рд╣ рд╡рд░реНрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ
main
рд╡рд┐рдзрд┐ рд╣реЛрддреА рд╣реИред
4.5 рдЖрд╡реЗрджрди рдХрдХреНрд╖рд╛рдореБрдЦреНрдп рд╡рд░реНрдЧ рдЬрд┐рд╕рдореЗрдВ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рд╣реИ рд╡рд╣
Application.java
рд╡рд░реНрдЧ рд╣реИред рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ
MongoDBPOperations
рд╡рд░реНрдЧ рдХреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
MongoDBPOperations
ред
MongoDBPOperations рд╡рд░реНрдЧ рдХреА рдХреЙрд▓рд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рд╡рд░реНрдЧ
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
рдЪрд▓рд┐рдП
Application.java
рд╡рд░реНрдЧ рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдСрдкрд░реЗрд╢рдиреЛрдВ рдкрд░ рдХрджрдо рджрд░ рдХрджрдо рджреЗрдЦреЗрдВ:
- рд╣рдо рдПрдХ
ApplicationContext
рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред - рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
MongoTemplate
рдШрдЯрдХ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ MongoOperations
рд▓рд┐рдП рдПрдХ MongoOperations
рдСрдмреНрдЬреЗрдХреНрдЯ MongoOperations
рдЧрдпрд╛ рдерд╛ред MongoDBOperations
рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рднрд┐рдиреНрди MongoOperation
рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред- рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреЙрди рдФрд░ рдЙрдореНрд░ 15 рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЫрд╛рддреНрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рд╣рдо
saveMethod
рд╡рд░реНрдЧ рдХреА saveMethod
рдкрджреНрдзрддрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред - рдЙрд╕реА рддрд░рд╣, рд╣рдо рд╡рд┐рднрд┐рдиреНрди
MongoDBOperations
рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдХрд╣рддреЗ рд╣реИрдВред
4.6 рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдирд╛рдЕрдВрдд рдореЗрдВ, рдЕрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВред Application.java -> Run as -> Java Application рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрди рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯрдЕрдм рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВред MongoDB рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдЯрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд╡рд░реНрдЧ рдЖрд╡реЗрджрди
package com.tutorial; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.data.mongodb.core.MongoOperations; import com.tutorial.config.MongoConfig; import com.tutorial.model.Student; public class Application { public static void main (String[] args) {
рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рдЗрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВред рдХрдВрд╕реЛрд▓ рдореЗрдВ рдирд┐рдореНрди рдкреНрд░рдХрдЯ рд╣реЛрддрд╛ рд╣реИред
рдбрд┐рд▓реАрдЯ рдСрдкрд░реЗрд╢рди рдХреЛ рдХрдореЗрдВрдЯ рдХрд░рдиреЗ рдкрд░ рдХрдВрд╕реЛрд▓рдбрд┐рд▓реАрдЯ рдХрдорд╛рдВрдб рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, MongoDB рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреИрд╕рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рд╕реЗрд╡ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рдж MongoDB рдЖрдЙрдЯрдкреБрдЯ5. рдЧреНрд░рд╣рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЖрдк
рдпрд╣рд╛рдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВредрдЕрдВрдд
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╣рдо рдпрд╣рд╛рдВ рдкреНрд░рд╢реНрдиреЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛
рдПрдХ рдЦреБрд▓реЗ рд╕рдмрдХ рдХреЗ рд▓рд┐рдП
рдпреВрд░реА рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдЖрдк рди рдХреЗрд╡рд▓ рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдЖрд╕рдкрд╛рд╕ рднреА рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред