рдиреЗрдЯрдмреАрдВрд╕ рдореЗрдВ рдЬрд╛рд╡рд╛ рдИрдИ + рдЬреЗрдПрд╕рдкреА + рд╣рд╛рдЗрдмрд░рдиреЗрдЯ + рдорд╛рд╡реЗрди + рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ред рднрд╛рдЧ 1

рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐


рдпрд╣ рдЬрд╛рд╡рд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рдХрдард┐рди рддрд░реАрдХреЗ рд╕реЗ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрдЧреАред рдореИрдВ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдиреЗрдЯрдмреАрдиреНрд╕ 7.3ред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред
рдХреНрдпреЛрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕реЗ? рдореИрдВ рдИрдИ рдореЗрдВ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рд╕реЛрдЪрддрд╛ рд╣реВрдВ - рдпрд╣ рдПрдХ рдЖрджрд░реНрд╢ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХреЗрдВ:

1) рдиреЗрдЯрдмреАрдиреНрд╕ 7.3;
2) рдорд╛рд╡реЗрди;
3) рд╣рд╛рдЗрдмрд░рдиреЗрдЯ;
4) рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА;
5) JSP + JSTL;
6) рд╕рд░реНрд╡рд▓реЗрдЯреНрд╕, рд╕рддреНрд░, рдЬрд╛рд╡рд╛рдмреАрди, рдПрдХреНрд╕рдПрдордПрд▓, рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди;
7) рдПрдЪрдЯреАрдПрдордПрд▓ + рд╕реАрдПрд╕рдПрд╕ (рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рдереЛрдбрд╝реА рд╕реА рд╕реБрдВрджрд░рддрд╛, рд▓реЗрдХрд┐рди рдмрд╛рдПрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ - рдЖрдкрдХреЛ рдФрд░ рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрддреА рд╣реИ);
8) рдЬрд╛рд╡рд╛ рдПрд╕рдИ (рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЬреНрдЮрд╛рди, рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдорд╛рдирдХ рд╕реЗрдЯ);
9) рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди (рдбреАрдПрдУ, рдлреИрдХреНрдЯрд░реА) рдХрд╛ рдЬреНрдЮрд╛рди;
10) рдЬреЗрдкреАрдП;
11) рдПрд╕рд╡реАрдПрди;
12) рдПрд╕рдХреНрдпреВрдПрд▓ (рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рднрд░рддреЗ рд╣реИрдВ)ред

рдЖрдЗрдП рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЕрдкрдирд╛ рдХреЛрдб рдХрд╣рд╛рдВ рд░рдЦреЗрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рджреЛрд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╢реБрд░реБрдЖрддреА рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рдЙрдирдХреЗ рд▓рд┐рдП рд╣реИред

SVN


рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬреИрд╕реА рдХреЛрдИ рдЪреАрдЬ рд╣реЛрддреА рд╣реИ - рд░рд┐рдореЛрдЯ рдХреЛрдб рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ред
рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рднреЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реЛрдЧреАред рдЙрдиреНрд╣реЗрдВ рднреЗрдЬрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдореЗрдВ рдирд┐рд░рд╛рд╢ рд╣реЛрдВрдЧреЗред
рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реАрд╡реАрдПрд╕, рдПрд╕рд╡реАрдПрди, рдЧрд┐рдЯ рд╣реИрдВред рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрд╕рд╡реАрдПрди рдЗрд╖реНрдЯрддрдо рд╣реИред рдЦреИрд░, рдЖрдкрдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рдЬрд╛рдирдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рддрдХ рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдмрд╛рдХреА рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдЖрдПрдВрдЧреЗред

рддреЛ, рд╡рд╣рд╛рдБ рдПрдХ рд╕рд╛рдЗрдЯ рд╣реИ www.assembla.com/ - рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдкрдВрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рд░рдВрдн рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЦреБрд▓рд╛ рднрдВрдбрд╛рд░ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдкрдВрдЬреАрдХрд░рдг рдХреЗ рдмрд╛рдж рд╣реЛрдЧрд╛ ред рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рд╕реНрдерд╛рди рдмрдирд╛рдПрдБред

рдЕрдЧрд▓рд╛ рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдФрд░ рдкрд╣рд▓рд╛ рд╕рдмрд╡рд░реНрд╕рди (SVN) рд╣реЛрдЧрд╛ред рдЙрд╕реЗ рдПрдХ рдирд╛рдо рджреЗрдВ рдФрд░ рд░рдЪрдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╢реАрд░реНрд╖ рдкрд░, рд╕рд╛рдЗрдЯ рдХреЗ рдХрд╛рд▓реА рдкрдЯреНрдЯреА рдкрд░, рдЙрд╕рдХрд╛ рдирд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЖрдк рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрдерд╛рди рдХреЗ рдкреГрд╖реНрда рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдПрдХ рдЯреИрдм "рд╕реЛрд░реНрд╕ рдХреЛрдб / рдПрд╕рд╡реАрдПрди" рд╣реЛрдЧрд╛ред рдЗрд╕ рдЯреИрдм рдореЗрдВ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ www.youtube.com/ рдкрд░ рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реАрдбрд┐рдпреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдЗрди рд╕рдмрдХреЗ рдмрд╛рдж, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрдкреЗрд╕ рдХрд╛ рд▓рд┐рдВрдХ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рд▓реЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ (рдпрд╛ рдиреЗрдЯрдмреАрди рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЦрд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред рджрд╛рд╣рд┐рдиреЗ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЖрдк рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ "рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг" -> "рд╕рдмрд╡рд░реНрд╕рди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЖрдпрд╛рдд" рджреЗрдЦреЗрдВрдЧреЗред рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдбрд╛рдпрд▓реЙрдЧ рдмреЙрдХреНрд╕ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реЛрдЧрд╛ - рдпрд╣ рд╡рд╣ рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ "рд╕реЛрд░реНрд╕ рдХреЛрдб" рдЯреИрдм рдореЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рдерд╛ред

рдЕрдЧрд▓рд╛, рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдЕрдЧрд▓рд╛, рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ, рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк рдиреЗрдЯрдмреАрдиреНрд╕ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ рдФрд░ рдореЗрдиреВ рдмрд╛рд░ (рдкреИрдирд▓ рдореЗрдВ рдлрд╝рд╛рдЗрд▓, рд╡реНрдпреВ, рдПрдбрд┐рдЯ, рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди, рд╕реЛрд░реНрд╕ ...) рдореЗрдВ рдЧреНрд░реБрдк рдЯреИрдм рдХреА рддрд▓рд╛рд╢ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рд╕рдмрд╡рд░реНрд╕рди рд╣реИред рдФрд░ рдЗрд╕ рдкрд░ рд╕рдмрдореЗрдиреВ рдореЗрдВ "рдЬрд╛рдУред" рдЗрд╕рдХреЗ рдмрд╛рдж, рд╕рдВрд╡рд╛рдж рдмреЙрдХреНрд╕ рдореЗрдВ, рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рд╡рд╣ рд▓рд┐рдВрдХ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ "рд╕реЛрд░реНрд╕ рдХреЛрдб" рдЯреИрдм рдореЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖ рд╣реИред) рдФрд░ рдЬрдм рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЯреНрд░реА рдореЗрдВ рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЕрдВрдд рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдЧреЗред рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЛрдб рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╣реЛрддрд╛ рд╣реИред
рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдорд╛рд░реНрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛ рдЬрд╛рдПрдЧреА рдЬреЛ рдмрджрд▓ рджреА рдЧрдИ рд╣реИрдВ рдпрд╛ рдирдИ рд╣реИрдВ (рдХреБрдЫ рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрд▓рдЧ рд╣реИ)ред рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ "рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрди" рдЯреИрдм рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдк рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдПрдХ рдмрдбрд╝реА рд╕реВрдЪреА рд╣реЛрдЧреАред "рдЕрдкрдбреЗрдЯ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛; "рдлрд┐рдХреНрд╕" - рдЙрд╕ рдХреЛрдб рдХреЛ рдиреАрдЪреЗ рд░рдЦреЗрдВ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдпрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдерд╛; "рд░реАрд╕реЗрдЯ" - рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВ, рдФрд░ "рддреБрд▓рдирд╛ рдХрд░реЗрдВ" - рд╣рдЯрд╛рдП рдЧрдП рд▓реЛрдЧреЛрдВ рд╕реЗ рднрд┐рдиреНрди рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рдпрд╣ рдПрдХ рдЯреАрдо рдХреЛрдб рд╡рд┐рдирд┐рдордп рдкрджреНрдзрддрд┐ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдореЗрд╢рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрджрдд рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рд╢реБрд░реБрдЖрдд


рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдХреЛрдб рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдХрд┐рд╕реА рдХреЛ рджрд┐рдЦрд╛рдПрдВ, рд╣рдо рдЕрдм рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдВрджрд░ рдЯреВрд▓ рд╕реЗ рд▓реИрд╕ рд╣реИрдВред

рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА NetBeans рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдЬреЛ SVN рдХреЗ рд╕рд╛рде рдЦреЗрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЕрдм рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддреЗ рд╣реИрдВред рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рд╡рд╣рд╛рдВ Maven-> рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪреБрдиреЗрдВред рдЬрд┐рд╕реЗ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ, рдпрд╣ рдЖрдкрдХреА рд╕рднреА рдХрд▓реНрдкрдирд╛рдПрдВ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИ, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдЪрд▓ рд░рд╣реА рд╣реИ, рд╣рдорд╛рд░рд╛ рдПрдХ рд▓рдХреНрд╖реНрдп рд╣реИ рдФрд░ рдЕрдм рдпрд╣ рд╕реЛрдЪрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ, рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛, рдХреМрди рд╕рд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░, рдкреИрдХреЗрдЬ рдЯреНрд░реА, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣рд╛рдВ рдХреЛрдб рдХреА рдХреБрд▓ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ 4000 рд╣реИ, рдФрд░ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╕реБрдВрджрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЕрдиреНрдпрдерд╛ рддрдм рдЖрдк рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рддрдиреЗ рдЪрдорддреНрдХрд╛рд░реА рддрд░реАрдХреЗ рд╕реЗ рдЕрдВрддрд┐рдо рдЦрд░реАрджреЗ рдЧрдП рдЖрдЗрдЯрдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЦрд░реАрдж рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдЫ рдкреВрд░рд╛ рдХрд░рдиреЗ рдпрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдорд╣рд╕реВрд╕ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕рдм рдХреБрдЫ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдЕрдкрдиреА рдХрд╛рд░реНрдпрдпреЛрдЬрдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП: рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛

1) рд╣рдо рдЗрдХрд╛рдИ (рд╕рдВрд╕реНрдерд╛рдУрдВ) - рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ POJO рд╣реИ - рдПрдХ рд╡рд░реНрдЧ рдЬреЛ рдПрдиреЛрдЯреЗрд╢рди (@Entity) рдпрд╛ XML рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рдо JPA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ javax.persistence рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред * рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдкрд░реНрд╕рд┐рд╕реНрдЯреЗрдВрд╕ API рдХреНрдпреЛрдВ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╣рдо ORM рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдкрдиреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ JPA рд╕рди рд╕реЗ рдорд╛рдирдХ рд╣реИред рдЬреЗрдкреАрдП рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдареАрдХ рд╣реИ, рдЖрдкрдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ: рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ * рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░рд╣рдиреЗ рд╡рд╛рд▓реА * рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣рдорд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ: рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рд╕рдВрд╕реНрдерд╛ рдпрд╛ рдбреЛрдореЗрди рдирд╛рдо рджреЗрдВ - рдЬреИрд╕рд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред рдЕрдВрддрддрдГ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: edu.shop.model.domain.Customer.java edu.shop.model.domain.Notebook.javaред
рдореИрдВ рдЗрд╕ рдордж рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рд╕реАрдзреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдЕрдм рдХрд╛рд░реНрдп рдпреЛрдЬрдирд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реИред

2) рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдпреВрдЯреАрд▓ рдмрдирд╛рдПрдВ (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреНрд░рддреНрдпрдп рдпрд╛ рдЙрдкрд╕рд░реНрдЧ рдпреВрдЯрд┐рд▓ рдХрд╛ рддрд╛рддреНрдкрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдХреЛрдб рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд╣реИ рдФрд░ рдХрдИ рд╡рд░реНрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рддреЛ, HibernateUtil рдореЗрдВ рд╣рдо рдПрдХ рд╕рддреНрд░рд╛рд╡рдзрд┐ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред рд╡рд╣ рднрд╛рд░реА рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рдХреЛрдб рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╕рддреНрд░ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЕрдкрдиреА рдЗрдХрд╛рдИ рдХрдХреНрд╖рд╛рдПрдВ рднреА рдкрдВрдЬреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдмрддрд╛рдКрдВрдЧрд╛ред рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкреИрдХреЗрдЬ рдореЗрдВ рднреА рд░рдЦрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, edu.shop.model.hbutil.HibernateUt.vava

3) рд╣рдо DAO рд▓рд┐рдЦрддреЗ рд╣реИрдВред
рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реИ? рд╣рдо рд╡рд╣реА рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдирд┐рдХрд▓рд╛, рдкрд░рд┐рдгрд╛рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо ProductDAO рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕рдореЗрдВ рддрд░реАрдХреЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
рд╕реВрдЪреА <AnyEntity <>> getAllProducts (); рддреЛ рд╣рдо рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди ProductDAOImpl рд▓рд┐рдЦрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ? рдпрджрд┐ рдЖрдкрдиреЗ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд╣реЗрдВрдЧреЗ: "рдореАрдХрд╛, рдореБрдЭреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рднреА рд╕рд╛рдорд╛рди"ред рдореИрдВ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реВрдВ: "рдХреЛрдИ рд╕рд╡рд╛рд▓ рдирд╣реАрдВред" рдФрд░ рдлрд┐рд░ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд╛рд╕: рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рдЬрд╣рд╛рдВ рднреА рдЖрдкрдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╢реНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд% рд▓рд┐рдЦреЗрдВ

* рдпрд╣рд╛рдБ рд╡рд┐рдзрд┐ * .getAllProducts () рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреАрд▓ рд╣реИ; - рдФрд░ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдВрдХрд▓рдХ рдХрд╕рдо рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ? рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рдВрдХрд▓рд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб рднреА рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо Enums рдФрд░ рдлрд╝реИрдХреНрдЯрд░реА рдкреИрдЯрд░реНрди рдФрд░ рдХреБрдЫ рдФрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рд░ рдЪреАрдЬ рдХрд╛ рдЕрдкрдирд╛ рд╕рдордп рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдбреАрдПрдУ рдореЗрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрда рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдЯреВрдЯреЗ рд╣реБрдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдорд┐рд▓ рдЬрд╛рдПред рдЕрдиреНрдпрдерд╛, рдЖрдк рдХреЗрд╡рд▓ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╕рддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

3) рд╕реНрдкреНрд░рд┐рдВрдЧ рдПрдорд╡реАрд╕реА рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░рд╛ рдХрд╛рдо рдпрд╣рд╛рдВ рд╢реБрд░реВ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рд▓рдВрдмреА рдХрд╣рд╛рдиреА рд╣реИ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рдмрд╕реЗ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдПрдорд╡реАрд╕реА рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдЖрдЗрдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВред

4) рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рд╣рд╛рдпрдХ рд╡рд░реНрдЧ рд╣реЛрдВрдЧреЗ рдЬреЛ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: рдЦрд░реАрдж рдХреА рдХреБрд▓ рд░рд╛рд╢рд┐ рдХреА рдЧрдгрдирд╛; рдЕрдВрддрд┐рдо рдЦрд░реАрджреА рдЧрдИ рд╡рд╕реНрддреБ рд╕рд╣рд╛рдпрдХ рдЪрд░ рдЬреЛ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЪреАрдЬреЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП 5000 UAH рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ, рдпрд╛ 500 рд╕реЗ рд╕рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛; рд╕рднреА Asus рд▓реИрдкрдЯреЙрдк рдХрд╛ рдЙрддреНрдкрд╛рджрдиред рдпрд╣ рдЖрдЗрдЯрдо рдкрд┐рдЫрд▓реЗ рдПрдХ рд╕реЗ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдЕрднреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╣рдо рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рд╕реЗ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдирд┐рдкрдЯреЗрдВрдЧреЗред рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпреЛрдЬрдирд╛рдмрджреНрдз рдпреЛрдЬрдирд╛ рд╣реИ, рдЪрд▓реЛ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝реЗрдВред

рд╕рддреНрддрд╛


рд╣рдордиреЗ рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдФрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдкреИрдХреЗрдЬ рдмрдирд╛рдпрд╛ред рдЗрд╕реЗ edu.shop.entity рд╣реЛрдиреЗ рджреЗрдВред рд╡рд╣рд╛рдВ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ:

рдиреЛрдЯред рдЬрд┐рд╕ рдЯреЛрдХрд░реА рдореЗрдВ рд╣рдорд╛рд░реЗ рдЦрд░реАрджреЗ рдЧрдП рд╕рд╛рдорд╛рди рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛, рдореИрдВрдиреЗ рдЗрд╕реЗ рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд░ рдореИрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдореВрд▓ рдмрд╛рддреЗрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ред рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдорд╛рд▓ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

1) рдЙрддреНрдкрд╛рдж
2) рдиреЛрдЯрдмрдВрджреА
3) рдХреИрдорд░рд╛
рек) рдкреБрд╕реНрддрдХ
5) рдХреЗрдмрд▓
6) рдЧреНрд░рд╛рд╣рдХ
7) рдЧрд╛рдбрд╝реА

рдЖрдЗрдП рдереЛрдбрд╝рд╛ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдХреНрдпрд╛ рд╣реИред
рдЗрдХрд╛рдИ - рдПрдХ POJO рд╡рд░реНрдЧ рдПрдиреЛрдЯреЗрд╢рди (@Entity) рдпрд╛ XML рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд░реНрдЧ рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

- рдПрдХ рдЦрд╛рд▓реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдпрд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;
- рдиреЗрд╕реНрдЯреЗрдб, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдпрд╛ рдПрдирдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
- рдпрд╣ рдЕрдВрддрд┐рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдВрддрд┐рдо рдлрд╝реАрд▓реНрдб / рдЧреБрдг рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ;
- рдХрдо рд╕реЗ рдХрдо рдПрдХ @ рдЖрдИрдбреА рдлрд╝реАрд▓реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдХрд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

- рдЧреИрд░-рдЦрд╛рд▓реА рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ;
- рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛;
- рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред

рдЗрдХрд╛рдЗрдпрд╛рдВ рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВ: рдПрдХ-рд╕реЗ-рдПрдХ, рдПрдХ-рд╕реЗ-рдХрдИ, рдХрдИ-рд╕реЗ-рдПрдХ, рдФрд░ рдХрдИ-рд╕реЗ-рдХрдИред

рд╣рдо рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдФрд░ рдлрд┐рд░ рддреБрд░рдВрдд рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рддрд░реАрдХреЛрдВ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдпрд╛ рддреЛ рд╣рдо рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╕реАрдзреЗ рдЦреЗрддреЛрдВ рдХреЗ рдКрдкрд░, рдпрд╛ рдЧреЗрдЯрд░реНрд╕ рдХреЗ рдКрдкрд░ рд▓рд┐рдЦреЗрдВрдЧреЗред рдореИрдВ рдПрдХ рдмрд╛рдд рдХрд╣реВрдВрдЧрд╛: рдЧреЗрдЯрд░реНрд╕ рдкрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рдЖрдк Google рдореЗрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдкреВрдЫрддреЗ рд╣реИрдВред рдореИрдВ рдпрд╣рд╛рдВ рд╕рднреА рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдПрдХ рдмрд╛рдд рдФрд░ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдЗрдХрд╛рдИ рд╡рд░реНрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ 2 рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдиреЗ рд╣реЛрдВрдЧреЗред рддреЛ рдкрд╣рд▓рд╛ рдЙрджрд╛рд╣рд░рдг:
рдореИрдВрдиреЗ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рд╣реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд▓рд┐рдЦреА рд╣реИрдВ:

import java.io.Serializable; import javax.persistence.*; import javax.validation.constraints.Size; /** * * @author Mikhail Shumenko */ @Entity //   ,     . @Table(name = "CART")//    ,           CART // ,    ,     ,       //    public class CartEntity implements Serializable { //     .     // Id  @Id //,            Id //     ,        . @Column(name = "ID") //   ))     ?     //@GeneratedValue(strategy=GenerationType. TABLE  AUTO)  //   , Id    1    . //   20   ,    1  20. //   , id       - 345768. //   ,    id          . //  SEQUENCE,      Derby,       . // ,  .      @TableGenerator(name = "cartid", table = "cartpktb", pkColumnName = "idCart", pkColumnValue = "idCartValue",allocationSize = 1) @GeneratedValue (strategy = GenerationType.TABLE, generator = "cartid") private Integer id; //  .    25 . @Size(max = 25) @Column(name = "NAMEITEM") //    String,        VARCHAR(  Derby) // Integer,   ,      Integer //boolean  Derby -     SMALLINT private String nameItem; @Column(name = "PRICE") private Integer price; public CartEntity() { } public CartEntity( String nameItem, int price) { this.nameItem = nameItem; this.price = price; } public CartEntity(Integer id,String nameItem, int price) { this.id=id; this.nameItem = nameItem; this.price = price; } public CartEntity(Integer id) { this.id = id; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNameItem() { return nameItem; } public void setNameItem(String nameItem) { this.nameItem = nameItem; } public Integer getPrice() { return price; } public void setPrice(Integer price) { this.price = price; } } 


рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛: рдЧреЗрдЯрд░реНрд╕ рдкрд░ рд▓рд┐рдЦреЗрдВред рд╣рдо рдХреЛрдб рдореЗрдВ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред


 import java.io.Serializable; import javax.persistence.*; /** * * @author miha */ @Entity //,     @Table //Hibernate    . public class Product implements Serializable { private Integer id; private String nameProduct; private Integer availableProduct; @Id @GeneratedValue(strategy = GenerationType.AUTO) //  Id  , ,         . public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNameProduct() { return nameProduct; } public void setNameProduct(String nameProduct) { this.nameProduct = nameProduct; } public Integer getAvailableProduct() { return availableProduct; } public void setAvailableProduct(Integer availableProduct) { this.availableProduct = availableProduct; } } 


рддреЛ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрдХрд╛рдИ рд╡рд░реНрдЧреЛрдВ рдХреЗ рджреЛ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рдХреА рдмрдирд╛рдПрдБред рдлрд╝реАрд▓реНрдбреНрд╕ рдЬреИрд╕реЗ: рдореЙрдбрд▓, рдкреНрд░рдХрд╛рд╢рди рдХрд╛ рд╡рд░реНрд╖, рдирд╛рдо, рд▓рд╛рдЧрдд - рд╕рднреА рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдХреЗ рд▓рд┐рдПред рдЙрдкрд▓рдмреНрдз рдлрд╝реАрд▓реНрдб (рдЕрдиреБрд╡рд╛рдж рдореЗрдВ рдЙрдкрд▓рдмреНрдзрддрд╛) рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдмрд╛рдж рдореЗрдВ рдХрд╛рдо рдЖрдПрдЧрд╛ред рдЖрдк рдЗрд╕реЗ рдмреВрд▓рд┐рдпрди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рддреНрд░рд╛ рдирд╛рдо рдХрд╛ рдПрдХ рдХреЙрд▓рдо рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рднреА рдЙрдкрдпреЛрдЧреА рд╣реИред

рдЕрдм рд╣рдорд╛рд░реЗ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдпреВрдЯрд┐рд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдВ


 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package edu.shumenko.hibernate; import edu.shumenko.entity.BookEntity; import edu.shumenko.entity.CableEntity; import edu.shumenko.entity.CameraEntity; import edu.shumenko.entity.CartEntity; import edu.shumenko.entity.CustomerEntity; import edu.shumenko.entity.NotebookEntity; import edu.shumenko.entity.ProductEntity; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.SessionFactory; /** * Hibernate Utility class with a convenient method to get Session Factory * object. * * @author Mikhail Shumenko */ public class HibernateUtil { //  SessionFactory. private static final SessionFactory sessionFactory; static { try { //   AnnotationConfiguration AnnotationConfiguration ac = new AnnotationConfiguration(); //    ,       . //  Entity   ,   -   . ac.addAnnotatedClass(ProductEntity.class).addAnnotatedClass(BookEntity.class).addAnnotatedClass(CableEntity.class) .addAnnotatedClass(CameraEntity.class).addAnnotatedClass(NotebookEntity.class). addAnnotatedClass(CartEntity.class).addAnnotatedClass(CustomerEntity.class); //       . //  .       //   ,  ,        . sessionFactory = ac.configure().buildSessionFactory(); } catch (Throwable ex) { // Log the exception. System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } } 


рдбреАрдПрдУ


рдЖрдЗрдП рдЕрдЧрд▓реЗ рднрд╛рдЧ рдкрд░ рдЖрдЧреЗ рдмрдврд╝реЗрдВред рдбреАрдПрдУ рдХреНрдпрд╛ рд╣реИ рдпрд╣ рдПрдХ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рд╣реИред

рдЗрд╕рдХрд╛ рдЕрд░реНрде:
- рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рд╕рднреА рдкрд╣реБрдВрдЪ рдбреАрдПрдУ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ DAO рдЙрджрд╛рд╣рд░рдг рдПрдХ рдкреНрд░рд╛рдердорд┐рдХ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрджрд┐ рдХрд┐рд╕реА рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рдЬреАрд╡рди рдЪрдХреНрд░ рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рдЕрдкрдирд╛ DAO рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- DAO рдПрдХ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрдирд╛рдиреЗ, рдкрдврд╝рдиреЗ (рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рджреНрд╡рд╛рд░рд╛), рдЕрджреНрдпрддрди рдФрд░ рд╣рдЯрд╛рдиреЗ (рдпрд╛рдиреА, CRUD (рдмрдирд╛рдПрдВ, рдкрдврд╝реЗрдВ, рдЕрдкрдбреЗрдЯ, рд╣рдЯрд╛рдПрдВ)) рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
- DAO рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЦреЛрдЬрдХ рдпрд╛ рдЦреЛрдЬрдХ рдЬреИрд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддрд╛ рд╣реВрдВред рдЦреЛрдЬрдХ рд╡рд┐рдзрд┐ рдЖрдорддреМрд░ рдкрд░ рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд▓реМрдЯрд╛рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП DAO рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред
- рдбреАрдПрдУ рд▓реЗрдирджреЗрди, рд╕рддреНрд░ рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DAO рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡рд┐рд╡рд░рдг рд╣рдореЗрд╢рд╛ Google рдХреЛ рдмрддрд╛рдПрдЧрд╛ред

рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рдбреАрдПрдУ рд▓рд┐рдЦреЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рд╣рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдПред рдЙрддреНрдкрд╛рдж рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ 4 рдлрд╝реАрд▓реНрдб Id, nameProduct, рдЙрдкрд▓рдмреНрдз + рд░рд╛рд╢рд┐ + ActionForServlet рд╣реЛрдВрдЧреЗред рд╣рдореЗрдВ рдЕрдкрдиреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╣рдо рдЕрдВрддрд┐рдо рдлрд╝реАрд▓реНрдб рдкрд░ рдЕрднреА рддрдХ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдЙрддреНрдкрд╛рджреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред

рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрдирд╛
 public interface ProductDAO { ProductDAO INSTANCE_PRODUCT= new ProductDAOImpl(); List<Product> getProducts(); //       } 


рд╣рдорд╛рд░реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдб рджреЗрдЦреЗрдВред
 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package edu.shop.model.dao; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; /** * * @author Mikhail Shumenko */ public class ProductDAOImpl implements ProductDAO { @Override public List<Product> getProducts() { List<Product> result = null; // ,      // ,  -    ,     ,    . Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); //Criteria          // , ,    //    -,  .       Cart   //   Cart.class Criteria criteria = session.createCriteria(Product.class); result = (List<Product>) criteria.list(); session.getTransaction().commit } catch (Exception e) { //   .        . e.printStackTrace(); }finally { if (session != null) session.close(); } return result; } } 


рдЗрд╕рд▓рд┐рдП, рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╕рд░рд▓ рд▓реВрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЛ рдЕрдкрдиреЗ index.jsp рдкреГрд╖реНрда рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

 <table border="2" width="2" cellspacing="2" cellpadding="2"> <thead> <h3></h3> </thead> <tbody> <tr> <th></th> //INSTANCE_PRODUCT    ? // ProductDAO   ,    ProductDAOImpl //     -,     . //ProductDAO INSTANCE_PRODUCT= new ProductDAOImpl(); <% for (Product product :ProductDAO.INSTANCE_PRODUCT.getProducts()) {%> <td><a href="<%=product.getActionForServlet()%>"><%=product.getName()%></a></td> <%}%> </tr> <tr> <th></th> <% for (Product product : ProductDAO.INSTANCE_PRODUCT.getProducts()) {%> <td><%=product.getAvailable()%></td> <%}%> </tr> </tbody> </table> 


рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдо рддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреБрд░рд╛ рд╣реИред рдпрд╣ рд╣рдорд╛рд░реЗ рдПрдорд╡реАрд╕реА рдкреИрдЯрд░реНрди рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ рдореИрдВ рдЕрдЧрд▓реЗ рдкрд╛рда рдореЗрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдпрджрд┐ рд╡реЗ рдореБрдЭреЗ рдПрдХ рдирд┐рдордВрддреНрд░рдг рджреЗрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ рдкрд╛рда рдореЗрдВ рд╣рдо рд╕реНрдкреНрд░рд┐рдВрдЧ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ, рддреАрд╕рд░реЗ рдореЗрдВ рд╣рдо рдлрд╝реИрдХреНрдЯрд░реА рдкреИрдЯрд░реНрди рдкрд░ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдореЗрдВ рддрд▓реНрд▓реАрди рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдЕрдзреАрд░ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдХреИрд╕реЗ рд╣рдЯрд╛рдПрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рджреЗрдВред рдЦреИрд░, рдХреИрд╕реЗ рдпрд╣ рд╕рдм рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдмрд╛рдж рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕рдореАрдХреНрд╖рд╛ рдЫреЛрдбрд╝ рджреЗрдВред

рд╕реЗрд╡ рдЯреВ рдбреАрдмреА


 public void addItemToCart(CartEntity cart) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); session.save(cart); session.getTransaction().commit(); } catch (Exception ex) { ex.printStackTrace(); } finally { if (session != null) { session.close(); } } } 


рдЖрдИрдбреА рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╣рдЯрд╛рдПрдВ


 public void deleteItemFromCart(Integer id) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); CartEntity itemDelete = (CartEntity) session.get(CartEntity.class, id); session.delete(itemDelete); session.getTransaction().commit(); } catch (Exception ex) { ex.printStackTrace(); } finally { if (session != null) { session.close(); } } } 


рд╕рдореВрд╣ рдХреЗ рдЖрдзрд╛рд░ рд╕реЗ рдЖрдИрдбреА рд╣рдЯрд╛рдирд╛ред


  public void deleteAllItemToCart(List<Integer> idAllItemsInCart) { Session session = HibernateUtil.getSessionFactory().openSession(); try { session.beginTransaction().begin(); for(Integer id:idAllItemsInCart){ CartEntity itemDelete = (CartEntity) session.get(CartEntity.class, id); session.delete(itemDelete); } session.getTransaction().commit(); } catch (Exception ex) { ex.printStackTrace(); } finally { if (session != null) { session.close(); } } } 


рдЖрдкрдХреЛ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдбрд░реНрдмреА рдореЗрдВ рдПрдХ рджреБрдХрд╛рди рдмрдирд╛рдПрдБред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдХреНрд░рдорд╢рдГ рд░реВрдЯ рдФрд░ рдкрд╛рд╕ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рддреЛ рдкрд░реЗрд╢рд╛рди рдордд рд╣реЛ - рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдордп рд▓реВрдВрдЧрд╛

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate.dialect.DerbyDialect</property> <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property> <property name="hibernate.connection.url">jdbc:derby://localhost:1527/shop</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">pass</property> <property name="connection.characterEncoding">UTF-8</property> <property name="hibernate.hbm2ddl.auto">update</property> </session-factory> </hibernate-configuration> 


рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрд╛рдж рдореЗрдВ рдХреИрд╕реЗ рднрд░реЗрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рднрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдЕрдЧрд▓реЗ рдкрд╛рда рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In178865/


All Articles