Ich habe einige Beispiele für Webschichten vorgestellt, darunter das Erstellen einer erholsamen API und das Rendern einer Webansicht mithilfe der Thymeleaf -Vorlage -Engine. Diese Inhalte reichen jedoch nicht aus, um eine dynamische Anwendung zu erstellen. Normalerweise benötigen wir, ob wir Apps oder Webanwendungen erstellen, Inhalte und der Inhalt wird normalerweise in verschiedenen Arten von Datenbanken gespeichert. Nach Empfang der Zugriffsanforderung muss der Server auf die Datenbank zugreifen, um sie in ein Datenformular zu erhalten, das für Benutzer angezeigt wird.
In diesem Artikel wird Beispiele für die Konfiguration von Datenquellen im Spring -Boot und das Schreiben von Datenzugriff über JDBCTEMplate vorgestellt.
Datenquellenkonfiguration
Wenn wir auf die Datenbank zugreifen, müssen wir zuerst eine Datenquelle konfigurieren. Im Folgenden finden Sie verschiedene Datenbankkonfigurationsmethoden.
Um eine Verbindung zur Datenbank herzustellen, müssen Sie zunächst JDBC -Unterstützung einführen, und die folgende Konfiguration wird in Build eingeführt. Gradle:
Kompilieren Sie "org.springframework
Stellen Sie eine Verbindung zu Datenquellen her
Nehmen Sie die MySQL -Datenbank als Beispiel ein, stellen Sie zunächst das MySQL -Verbindungsabhängigkeitspaket ein und fügen Sie sie zum Build hinzu.gradle:
Kompilieren Sie "MySQL: Mysql-Connector-Java: $ mySQL_VERSION"
Komplette Build.gradle
Gruppe 'name.quanke.kotlin'version' 1.0-snapshot'buildscript {ext.kotlin_version = '1.2.10' ext.spring_boot_version = '1.5.4.Release' ext.springfox_swagger2_version = '2.7.0' ext.mysqlEnsion = '5.1.21' repositories {{) mavsql_version = '5.1.21' repositories {{) mavsql_version = '5.1.21' reposität {{{° Clentral (). Abhängigkeiten {ClassPath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ kotlin_version" classPath ("org.springFramework classPath ("org.jetbrains.kotlin: kotlin-noarg: $ kotlin_version") classPath ("org.jetbrains https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-compiler-pluginapply plugin: 'org.springframework.boot'jar { baseName = 'chapter11-6-1-service' version = '0.1.0'}repositories { mavenCentral()}dependencies { kompilieren "org.jetbrains "MySQL: Mysql-Connector-Java: $ MySQL_VERSION" testcompile "org.springframework.boot: Spring-Boot-Starter-Test: $ Spring_Boot_Version" testcompile "org.jetbrains kotlinoptions.jvmtarget = "1.8"} compiletestkotlin {kotlinoptions.jvmtarget = "1.8"}Konfigurieren Sie Datenquelleninformationen in SRC/Main/Ressourcen/application.yml
Frühling: DataSource: URL: JDBC: MySQL: // localhost: 3306/Test Benutzername: Root Passwort: 123456 Treiberklassenname: com.mysql.jdbc.driver
Stellen Sie eine Verbindung zur JNDI -Datenquelle her
Wenn Sie eine Anwendung auf einem Anwendungsserver bereitstellen, können Sie die folgende Konfigurationsmethode verwenden, um die JNDI -Datenquelle vorzustellen.
Wenn Sie nicht viel über JNDI wissen, lesen Sie bitte https://baike.baidu.com/item/jndi/3792442?fr=aladdin
Spring.DataSource.jndi-name = Java: JBoss/DataSources/Kunden
Verwenden Sie JDBCtemplate, um die Datenbank zu betreiben
Die JDBCtemplate von Spring ist automatisch konfiguriert und Sie können sie verwenden, um sie in Ihre eigene Bohne zu injizieren.
Zum Beispiel: Wir erstellen eine Benutzertabelle, einschließlich Attribute -ID, Name und Alter. Schreiben wir Datenzugriffsobjekte und Unit -Testfälle.
Definieren Sie eine abstrakte Schnittstelle, die Insertion, Löschung und Abfrage enthält.
Schnittstelle UserService { / *** Die Gesamtzahl der Benutzer erhalten* / Val Analusers: int? / *** Fügen Sie einen neuen Benutzer hinzu* @param Name* @param ay*/ Fun create (Name: String, Passwort: String?)/ *** Löschen Sie einen Benutzer hoch gemäß Name* @param Name*/ Fun DeleteByName (Name: String)/ *** Alle Benutzer löschen*/ Fun DeleteAllusser ()}}Implementieren Sie Datenzugriffsvorgänge, die in UserService über JDBCTEMplate definiert sind
import org.springframework.bean.factory.annotation.autowiredimport org.springframework.jdbc.core.jdbctemplateimport org.springframework.stereotype.Service/*** Erstellt von http://quanke.name.name unter 2018/1/10. */ @ServiceClass UserServiceImpl: userService {@autowired privat val jdbctemplate: jdbctemplate? = NULL Override Val Analusers: int? get () = jdbctemplate !!. queryforObject ("zählen (1) aus dem Benutzer", int :: class.java) spaß Spaß erstellen (Name: String, Passwort: String?) {JDBCTEMPLATE !!. Update ("in Benutzer einfügen. WO UNDERNAME =? ", Name)} Überschreien Sie Spaß deleteAllusers () {jdbctemplate !!. Update (" vom Benutzer löschen ")}}Erstellen Sie Unit -Testfälle für UserService, um die Richtigkeit der Datenbankvorgänge durch Erstellen, Löschen und Abfragen zu überprüfen.
/*** Erstellt von http://quanke.name am 2018/1/9. */@Runwith (Springrunner :: class) @springboottestClass applicationTests {val log = logFactory.getLog (ApplicationTests :: class.java) !! @Autowired LateInit var UserService: userService @Test Fun `JDBC -Test" `() {val username =" quanke "val password =" 123456 "// 5 userservice einfügen. c", "$password 3") userService.create("$username d", "$password 4") userService.create("$username e", "$password 5") log.info("Total users${userService.allUsers}") // Delete two users userService.deleteByName("$username a") userService.deleteByName("$username B ") log.info (" Total User $ {UserService.Allusers} ")}}Die oben eingeführte JDBCTEMplate ist nur einige der grundlegendsten Operationen. Weitere Informationen zur Verwendung anderer Datenzugriffsvorgänge finden Sie unter: JDBCTEMPLATE -API
Im obigen einfachen Beispiel können wir feststellen, dass die Konfiguration des Zugriffs auf Datenbanken unter Spring Start immer noch an der ursprünglichen Absicht des Frameworks haftet: einfach. Wir müssen nur Datenbankabhängigkeiten zu pom.xml hinzufügen und dann Verbindungsinformationen in application.yml konfigurieren. Wir müssen keine JDBCTEMPLEP -Bean wie Spring -Anwendung erstellen und können sie direkt in unserem eigenen Objekt injizieren und verwenden.
Zusammenfassen
Die obige Methode ist die Verwendung von JDBCTEMplate, um eine Verbindung zur MySQL -Datenbank mit Spring Boot und Kotlin herzustellen, die ich Ihnen vorgestellt habe. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!