Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 36133|Atbildi: 7

[Avots] Spring Boot Hibernate Druid MySQL projekta būvniecības apmācība [ar avota kodu]

[Kopēt saiti]
Publicēts 20.02.2019 14:44:57 | | | |
Es arī esmu puscepts Java, un es neesmu ļoti pazīstams ar pavasara ģimenes spaini, un es esmu izveidojis projekta ietvaru, pamatojoties uz tiešsaistes apmācībām un savu pieredzi.
Projekta vide:JDK versija: 1.8.0_171, mysql versija: 5.7.17, pavasara sāknēšana: 2.1.1.RELEASE, izstrādes rīki: idea.

Hibernācija un JPA

Šajā rakstā aprakstītais tīmekļa projekts izmanto hibernāciju kā noturības slāņa struktūru. Pavasara zābakā mums ir jāsaprot cits jēdziens: JPA

Iepriekšējais teikums var būt neskaidrs, bet tas nenozīmē, ka JPA ir jēdziens Spring Boot. Tā vietā tas ir Java Persistence API, kas ķīniešu valodā tiek tulkots kā: Java Persistence Layer API.

JPA ir standarta specifikācija, kuras pamatā ir ORM (vai O/R kartēšana), kurā JPA definē tikai standarta noteikumus un nenodrošina ieviešanu.

Šobrīd galvenās JPA ieviešanas ir Hibernate, EclipseLink, OpenJPA utt.

Sakarā ar Hibernate dominējošo stāvokli datu piekļuves izšķirtspējas tehnoloģijas jomā, JPA standartā pamatā dominē Hibernate.

SpringBoot ir automātiska šautene

Spring Data JPA tiek nodrošināts kā interfeisa rīks izstrādātājiem, lai lietotu hibernācijas sistēmu. Mūsu Spring Boot nodrošina pilnībā automatizētu "automātisko atkarības moduli": spring-boot-starter-data-jpa


POM atkarības struktūra:

Vai kādam ir jautājumi par pom failu bez citāta hibernācijai?



Iemesls ir tāds, ka, kā parādīts iepriekš redzamajā attēlā, spring-boot-starter-data-jpa ir atkarīgs no hibernate-core, un, atsaucoties uz spring-boot-starter-data-jpa, maven projekts automātiski ieviesīs pakotni, no kuras tas ir atkarīgs.


application.yml profils:

Pavasara konfigurācijas datu avota informācijas oficiālā saite:Hipersaites pieteikšanās ir redzama.

##########################################
###datasource - Norādiet mysql datu bāzes savienojuma informāciju
###spring.datasource.url: MySQL adrese
###spring.datasource.user: Datu bāzes lietotājvārds
###spring.datasource.password: datu bāzes parole
###spring.datasource.driverClassName: atbilst datu bāzes draiverim
###spring.datasource.max-active: norāda maksimālo aktīvo savienojumu skaitu savienojumu pūlā
###spring.datasource.max-idle: norāda maksimālo brīvo savienojumu skaitu savienojumu pūlā.
###spring.datasource.min-idle: norāda minimālo vērtību, kas jāuztur (DBCP un Tomcat savienojumu baseiniem)
###spring.datasource.initial-size: norāda sākotnēji izveidoto savienojumu skaitu, startējot savienojumu pūlu
###
###其他信息总结:
###spring.dao.exceptiontranslation.enabled neatkarīgi no tā, vai PersistenceExceptionTranslationPostProcessor ir iespējots, noklusējums ir true
###spring.datasource.abandon-when-percentage-fulliestata to pamesto savienojumu procentuālo daļu, kas tiek slēgti vai par kuriem tiek ziņots, kad taimauts tiek pārtraukts
###spring.datasource.allow-pool-suspension Izmantojot Hikari baseinu, ir iestatīts, vai atļaut savienojuma pūla pauzi, uz false
###spring.datasource.alternate-username-allowedvai ir atļauti alternatīvi lietotājvārdi.
###spring.datasource.auto-commitNorāda, vai atjauninājumi tiek veikti automātiski.
###spring.datasource.catalog norāda noklusējuma katalogu.
###spring.datasource.commit-on-return iestata, vai veikt visas neizpildītās transakcijas, kad savienojums tiek atgriezts
###spring.datasource.connection-init-sql norāda, ka savienojums tiek izveidots un pievienots SQL, kas izpildīts pirms savienojuma pūla.
###spring.datasource.connection-init-sqls Izmantojot DBCP savienojuma pūlu, norādiet sql, kas jāizpilda inicializācijas laikā
###spring.datasource.connection-properties. [key]Norāda konfigurējamos atribūtus, izmantojot DBCP savienojuma pūlu
###spring.datasource.connection-test-query norāda SQL priekšrakstu, kas pārbauda savienojuma izpildes likumību
###spring.datasource.connection-timeoutNorāda savienojuma taimauta laiku milisekundēs.
###spring.datasource.continue-on-errorInicializējot datu bāzi, rodas kļūda turpināt vai nē, noklusējums ir false
###spring.datasource.data norāda datu (DML) skriptu
###spring.datasource.data-source-class-name Norāda pilnībā kvalificēto datu avota nosaukumu.
###spring.datasource.data-source-jndi norāda jndi adresi
###spring.datasource.data-source-properties. Izmantojot Hikari savienojumu pūlu, norādiet iestatāmos atribūtus
###spring.datasource.db-properties izmanto Tomcat savienojumu pūlu, norādot iestatāmos rekvizītus
###spring.datasource.default-auto-commit tiek automātiski izpildīts.
###spring.datasource.default-catalog norāda katalogu, kas izveido savienojumu ar noklusējuma.
###spring.datasource.default-read-onlyVai iestatīt noklusējuma savienojumu uz tikai lasāmu.
###spring.datasource.default-transaction-isolationNorāda noklusējuma izolācijas līmeni saistītajām transakcijām.
###spring.datasource.driver-class-name norāda draivera klases nosaukumu, kas pēc noklusējuma tiek automātiski noteikts no jdbc URL.
###spring.datasource.fair-queue Vai izmantot FIFO atgriešanās savienojumus.
###spring.datasource.health-check-properties. [key] Atribūts, kas nodots, izmantojot Hikari savienojuma pūlu sirdsdarbības pārbaudes laikā
###spring.datasource.idle-timeoutNorāda, cik ilgi savienojums netiek izmantots, kas pēc noklusējuma ir iestatīts kā dīkstāve
###spring.datasource.ignore-exception-on-pre-loadNeatkarīgi no tā, vai izņēmums tiek ignorēts, kad tiek inicializēts savienojuma pūls.
###spring.datasource.init-sqlsql, kas tiek izpildīts, kad tiek izveidots savienojums
###spring.datasource.initial-size norāda sākotnēji izveidoto savienojumu skaitu, startējot savienojumu pūlu
###spring.datasource.initialization-fail-fastVeidojot savienojuma pūlu, nav iespējams izveidot noteiktu minimālo savienojumu skaitu, lai izmestu izņēmumu
###spring.datasource.initializeNorādiet, vai inicializēt datu avotu, izmantojot data.sql, noklusējums: true
###spring.datasource.isolate-internal-queries norāda, vai iekšējie vaicājumi ir jāievieto karantīnā, pēc noklusējuma norādot uz false
###spring.datasource.jdbc-interceptors Izmantojot Tomcat savienojumu pūlu, norādiet jdbc pārtvērēju un semikolu atdalīšanu
###spring.datasource.jdbc-url norāda JDBC URL.
###spring.datasource.jmx-enabled ir iespējots pēc noklusējuma: false
###spring.datasource.jndi-nameNorāda jndi nosaukumu.
###spring.datasource.leak-detection-threshold Cik milisekundes jūs atklājat savienojuma noplūdi, izmantojot Hikari savienojuma pūlu?
###spring.datasource.log pamests izmanto DBCP savienojumu pūlu, lai izsekotu pamestos paziņojumus vai savienojumus, noklusējums ir false
###spring.datasource.log-validation-errorsIzmantojot Tomcat savienojuma pūlu, vai drukāt validācijas kļūdu.
###spring.datasource.login-timeoutNorāda taimauta laiku savienojuma izveidei ar datu bāzi.
###spring.datasource.max-age norāda maksimālo savienojumu vecumu savienojumu pūlā
###spring.datasource.max-lifetime norāda savienojumu maksimālo kalpošanas laiku savienojumu pūlā milisekundēs.
###spring.datasource.max-open-prepared-statementsnorāda maksimālo atvērto paziņojumu skaitu.
###spring.datasource.max-wait norāda maksimālo gaidīšanas laiku, lai savienojumu pūls gaidītu savienojuma atgriešanos milisekundēs.
###spring.datasource.maximum-pool-sizeNorāda maksimālo savienojumu skaitu savienojumu pūlā, ieskaitot aktīvos un dīkstāves savienojumus.
###spring.datasource.min-evictable-idle-time-millisNorāda bezmaksas savienojumu uz minimālo laiku, kad tas var būt dīkstāvē, pirms to var notīrīt.
###spring.datasource.min-idle norāda minimālo vērtību, kas jāsaglabā (DBCP un Tomcat savienojumu baseiniem)
###spring.datasource.minimum-idle norāda minimālo brīvo savienojumu skaitu, ko uztur savienojums, un, izmantojot HikariCP.
###spring.datasource.name Norādiet datu avota nosaukumu.
###spring.datasource.num-tests-per-eviction-run norāda objektu skaitu, palaižot katru dīkstāves objekta evitor pavedienu
###spring.datasource.passwordNorādiet datu bāzes paroli.
###spring.datasource.platform norāda shēmu izmantojamo platformu (schema-${platform}.sql, kuras noklusējuma vērtība ir: all
###spring.datasource.pool-nameNorāda savienojuma pūla nosaukumu.
###spring.datasource.pool-prepared-statementsNorāda, vai apvienot pārskatus.
###spring.datasource.propagate-interrupt-stateVai izplatīt pārtraukuma stāvokli, ja pavediens tiek pārtraukts, gaidot savienojumu.
###spring.datasource.read-onlyIzmantojot Hikari savienojuma pūlu, vai datu avotu atzīmēt kā tikai lasāmu
###spring.datasource.register-mbeans norāda, vai Hikari savienojuma pūls reģistrē JMX MBeans.
###spring.datasource.remove-abandoned norāda, vai dzēst savienojumu tūlīt pēc pamestā taimauta beigām.
###spring.datasource.remove-abandoned-timeoutNorāda laiku, kad savienojums ir jāpārtrauc.
###spring.datasource.rollback-on-returnVai atgriezt gaidāmo darījumu, atgriežot savienojumu.
###spring.datasource.schema norāda shēmas (DDL) skriptu.
###spring.datasource.separator norāda priekšraksta atdalītāju skripta inicializēšanai, noklusējums: ;
###spring.datasource.sql-script-encoding norāda SQL skriptu kodējumu.
###spring.datasource.suspect-timeoutNorāda taimautu pirms pārtrauktā savienojuma drukāšanas.
###spring.datasource.test-on-borrowAizņemoties savienojumu no savienojuma pūla, vai pārbaudīt savienojumu.
###spring.datasource.test-on-connect, vai pārbaudīt savienojumu
###spring.datasource.test-on-returnVai savienojums tiek atgriezts savienojumu pūlā.
###spring.datasource.test-while-idleVai veikt savienojuma pārbaudi, kad savienojums ir dīkstāvē.
###spring.datasource.time-between-eviction-runs-millis Norāda darbības laika intervālu starp dīkstāves savienojuma pārbaudēm, pamestā savienojuma tīrīšanu un dīkstāves savienojuma pūla lielumu
###spring.datasource.transaction-isolation norāda transakcijas izolācijas līmeni, kas tiek norādīts, izmantojot Hikari savienojumu pūlu
###spring.datasource.url norāda JDBC URL.
###spring.datasource.use-disposable-connection-façade iesaiņo savienojumu, lai to neizmantotu pēc tā aizvēršanas.
###spring.datasource.use-equals, vai izmantot String.equals(), lai aizstātu ==.
###spring.datasource.use-lock ir bloķēts savienojuma darbībā
###spring.datasource.usernameNorādiet datu bāzes nosaukumu.
###spring.datasource.validation-interval norāda, cik ms jāveic savienojuma pārbaude.
###spring.datasource.validation-query norāda SQL vaicājuma priekšrakstu savienojuma validācijai, iegūstot savienojumu.
###spring.datasource.validation-query-timeoutNorāda savienojuma validācijas vaicājuma taimauta laiku.
###spring.datasource.validation-timeoutIestata savienojuma validācijas taimauta laiku, kas tiek norādīts, izmantojot Hikari savienojuma pūlu
###spring.datasource.validator-class-name Validatora pilns ierobežotājs, kas tiek izmantots, lai pārbaudītu vaicājumu.
###spring.datasource.xa.data-source-class-name Norāda pilnu datu avota apzīmētāju.
###spring.datasource.xa.properties norāda rekvizītus, kas nodoti XA datu avotam
###spring.datasource.url=jdbc:mysql://localhost:3306/test?user=root&password=root&useUnicode=true&characterEncoding=UTF8
##########################################
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=sakne
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.max-aktīvs=20
spring.datasource.max-dīkstāve=8
spring.datasource.min-idle=8
pavasaris.datu avots.sākotnējais-lielums=10
##########################################
##SPring JPA konfigurācijas informācija
###spring.jpa.database norāda mērķa datu bāzi.
###spring.jps.show-sq: Vai parādīt SQL paziņojumus
###spring.jpa.hibernate.ddl-auto norāda DDL režīmu (none, validate, update, create, create-drop). Izmantojot iegultu datu bāzi, noklusējums ir create-drop, pretējā gadījumā tas nav.
###spring.jpa.hibernate.naming-strategyNorādiet nosaukumu piešķiršanas politiku.
###其他:
###spring.jpa.database-platformNorāda mērķa datu bāzes tipu.
###spring.jpa.generate-ddl vai inicializēt shēmu startēšanas laikā, noklusējuma vērtība ir false
###spring.jpa.hibernate.ddl-auto norāda DDL režīmu (none, validate, update, create, create-drop). Izmantojot iegultu datu bāzi, noklusējums ir create-drop, pretējā gadījumā tas nav.
###spring.jpa.hibernate.naming-strategyNorādiet nosaukumu piešķiršanas politiku.
###spring.jpa.open-in-view reģistrē OpenEntityManagerInViewInterceptor un saista JPA EntityManager ar pieprasījuma pavedienu, noklusējums ir true
###spring.jpa.properties JPA nodrošinātājam pievieno papildu atribūtus.
###spring.jpa.show-sql Vai iespējot SQL žurnālu pēc noklusējuma ir iestatīts uz false
##########################################
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = atjaunināt
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.BetterNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.freemarker.charset=UTF-8

Visa paketes struktūra



Datu avota konfigurācija:




Vienības klase:



Datu bāzes darbības interfeiss:

Datu bāzes darbības interfeiss manto no JpaRepository vispārējās klases, un, kad tas to pārmanto, tas iegūst dievišķo spēku, ko tas piešķir izstrādātājiem:



Mēs varam tieši izsaukt šīs metodes, lai veiktu datu bāzes operācijas, un mēs varam arī pielāgot HQL, lai pabeigtu citas darbības, kas atbilst mūsu personībai, piemēram:

Šajā kodā, izmantojot @Query komentāru,Pabeigta HQL rakstīšanakur ":name" atbilst parametram zemāk esošajā @Param anotācijā.

Piezīme: HQL tabulas nosaukumam jābūt ORM kartes klases nosaukumam, un HQL ir dažas atšķirības no tradicionālajiem SQL apgalvojumiem, piemēram, "*" nozīme ir atšķirīga utt.

Ja neesat pieradis izmantot HQL, varat izmantot arī SQL paziņojumus:



Iepriekš minētā metode joprojām ir efektīva, kad tā tiek veikta.nativeQuery uz true nozīmē SQL valodas izmantošanu

Kontroliera klase:

Sāciet projektu

Hibernate automātiski kartēs entītiju klases uz datu bāzi, lai izveidotu mums atbilstošas datu bāzes tabulas, un tas automātiski saskaņos datu bāzes tabulas, pamatojoties uz tādām anotācijām kā @Table, @Column, @Id, @GeneratedValue (stratēģija = GenerationType.AUTO) utt. Ietaupiet daudz tabulas darba.


(Pirms projekta uzsākšanas vispirms jāizveido datu bāze, un tabula tiks automātiski izveidota)



hibernate_sequence tabula ir id ģenerēšanas stratēģija @GeneratedValue anotācijām, GenerationType.AUTO pārstāv automātisku ģenerēšanu, ar nosacījumu, ka id atribūtam jābūt int vai garam tipa atribūtam, ja tas ir virknes tipa id, tad pievienojot šo anotāciju virs id, nekavējoties tiks ziņots par kļūdu. Tāpēc, ja tas ir virknes tipa ID, jums nav nepieciešams anotēt id ar @GeneratedValue (stratēģija = GenerationType.AUTO).

Pieprasīt testu

Pilnīgs datu pieprasījums un datu saglabāšana, izmantojot attiecīgi get un post.


IzmantotHipersaites pieteikšanās ir redzama.Interfeiss POST pieprasa pievienot datus, kā parādīts šajā attēlā:



Datu bāzes vaicājums ir šāds:



Iegūstiet datus, izmantojot šādu interfeisu:

Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.



Piezīmes: Kā to pieprasa iepriekš minētais interfeiss, Java ir ļoti jutīga pret reģistrjutīgumu, neatkarīgi no tā, vai tā ir URL adrese vai parametri, tai jābūt reģistrjutīgai! Ja burts ir lielais vai mazais burts, pieprasījums nesasniegs saskarni vai parametrs būs tukšs!

Druīds uzrauga šādas situācijas:






Visbeidzot, pievienojiet avota kodu:

Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzuAtbildi


(Beigas)





Iepriekšējo:Neizdevās konfigurēt datu avotu
Nākamo:Jieyou pēcpusdienas tēja | Trešdiena, 2019. gada 20. februāris
Publicēts 21.02.2019 02:19:13 |
Apskatiet mācīšanos mācīties.
Publicēts 05.07.2019 17:27:02 |
Iemācieties mācīties...
Publicēts 22.07.2019 14:15:41 |
Apskatiet mācīšanos mācīties.
Publicēts 21.11.2019 21:08:12 |
【Praktiskā cīņa】 Spring Boot Hibernate Druid MySQL projekta būvniecības apmācība
Publicēts 30.03.2020 13:52:54 |
Milzīgs paldies
Publicēts 28.06.2020 15:13:11 |
Apskatiet lielo puišu koda apguvi
Publicēts 18.11.2020 23:57:19 |
Iemācieties mācīties
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com