Я представил несколько примеров веб -слоев, в том числе создание RESTFUL API и представление веб -представления с использованием шаблон -двигателя Thymeleaf, но этого содержимого недостаточно для создания динамического применения. Обычно, независимо от того, делаем ли мы приложения или веб -приложения, нам нужен контент, и контент обычно хранится в различных типах баз данных. После получения запроса доступа, серверу необходимо получить доступ к базе данных для получения и обработки его в форму данных, отображаемой для пользователей.
В этой статье представлены примеры настройки источников данных в рамках Spring Boot и написания доступа к данным через JDBCTEMPLATE.
Конфигурация источника данных
Когда мы получаем доступ к базе данных, нам нужно сначала настроить источник данных. Ниже приведены несколько различных методов конфигурации базы данных.
Во -первых, чтобы подключиться к базе данных, вам необходимо ввести поддержку JDBC, и в Build.gradle введена следующая конфигурация:
Compile "org.springframework.boot: Spring-Boot-Starter-jdbc: $ spring_boot_version"
Подключиться к источникам данных
Принимая базу данных MySQL в качестве примера, сначала введите пакет зависимости подключения MySQL и добавьте его в Build.Gradle:
Compile "mysql: mysql-connector-java: $ mysql_version"
Полный Build.Gradle
Группа 'name.quanke.kotlin'Version' 1.0-SnapShot'BuildScript {ext.kotlin_version = '1.2.10' Ext.spring_boot_version = '1.5.4.Release' ext.springfox_swager2_version = '2.7.0' Ext.mysql_version = '5.1.21' ext.mysentsrion). Зависимости {classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: $ kotlin_version" classpath ("org.springframework.boot: Spring-Boot-Gradle-Plugin: $ spring_boot_version") // Cotlin интегрирует Prescoot's Parameterme Parameter-Fault, и все подходит для всех классов на открытый класс на открытый класс для открытого класса для открытого класса для открытого класса для открытого класса для открытого класса для открытого класса на открытый класс на открытый класс для открытого класса для открытого класса для открытого класса на открытый класс для открытого класса на открытый класс на открытый класс на открытый класс на открытый класс на открытый класс на открытый класс для открытого класса. ClassPath ("org.jetbrains.kotlin: kotlin-noarg: $ kotlin_version") classpath ("org.jetbrains.kotlin: kotlin-allopen: $ kotlin_version")}} Применить плагин: 'Kotlin'Apply: "kotlin-spring" // Смотрите. https://kotlinlang.org/docs/reference/compiler-lugins.html#kotlin-spring-compiler-luginapply плагин: 'org.springframework.boot'jar {baseName =' Глава 11-6-сервис 'версия =' 0,0 '} Репезитории {M-MAVENGEDRIENDRES {MAVENGEDRIENDRES {M-MAVENGENDRIENDIERS {MAVENGEDRIENDRES {MAVENGEDRIENDY {MAVENGEDRIENDIERS "org.jetbrains.kotlin: kotlin-stdlib-jre8: $ kotlin_version" compile "org.springframework.boot: spring-boot-starter-web: $ spring_boot_version" compile_boot_version ". "MySQL: MySQL-Connector-Java: $ mysql_version" testcompile "org.springframework.boot: spring-boot-starter-test: $ spring_boot_version" testcompile "org.jetbrains.kotlin: kotlin-test-junit: $ kotlin_version"} compillinoption "1.8"} CompileTestKotlin {kotlinoptions.jvmtarget = "1.8"}Настройка информации источника данных в src/main/resources/application.yml
Весна: DataSource: URL: JDBC: MySQL: // Localhost: 3306/Test username: Root Password: 123456 Class-Class-name: com.mysql.jdbc.driver
Подключитесь к источнику данных JNDI
При развертывании приложения на сервере приложений вы можете использовать следующий метод конфигурации для внедрения источника данных JNDI.
Если вы мало знаете о JNDI, пожалуйста, обратитесь к https://baike.baidu.com/item/jndi/3792442?fr=aladdin
spring.datasource.jndi-name = java: jboss/dataSources/клиенты
Используйте JDBctemplate для работы с базой данных
Spring JDBctemplate автоматически настроен, и вы можете использовать @Autowired для внедрения его в свой собственный боб.
Например: мы создаем таблицу пользователя, включая идентификатор атрибутов, имя и возраст. Давайте напишем объекты доступа к данным и модульные тестовые примеры.
Определите абстрактный интерфейс, который содержит вставку, удаление и запрос.
Интерфейс userservice { / *** Получить общее количество пользователей* / val allusers: int? / *** Добавить нового пользователя* @param name* @param age*/ fun create (name: string, пароль: строка?)/ *** Удалить пользователя высокого уровня в соответствии с именем* @param name*/ fun deletebyname (name: string)/ *** Удалить всех пользователей*/ fun deleteallusers ()}Реализовать операции доступа к данным, определенные в пользовательском обслуживании через JDBCTEMPLATE
Импорт org.springframework.beans.factory.annotation.autowiredimport org.springframework.jdbc.core.jdbctemplateimport org.springframework.stereotype.service/*** Создан http://quanke.name на 2018/18. */ @ServiceClass userserviceimpl: userservice {@autowired private val val jdbctemplate: jdbctemplate? = null переопределить val allusers: int? get () = jdbctemplate !!. QueryForObject («Выберите счет (1) из пользователя», int :: class.java) переопределить веселье create (имя: строка, пароль: строка?) {jdbctemplate !!. Обновление («Вставка в пользователь (username, пароль) значения (? Пользователь, где username =? ", Name)} переопределить забавные deleteallusers () {jdbctemplate !!. Update (" delete from user ")}}Создайте модульные тестовые примеры для пользовательского обслуживания, чтобы проверить правильность операций базы данных путем создания, удаления и запроса.
/*** Создано http://quanke.name 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.create (" $ usernam 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} ")}}Представленная выше JDBCTEMPLATE - это лишь некоторые из самых основных операций. Для получения дополнительной информации об использовании других операций доступа данных, пожалуйста, см.
Через простой пример выше, мы видим, что конфигурация доступа к базам данных в рамках Spring Boot по -прежнему придерживается исходного намерения фреймворка: просто. Нам нужно только добавить зависимости базы данных в pom.xml, а затем настроить информацию об соединении в Application.yml. Нам не нужно создавать приложение JDBCTemplate Bean, подобное Spring, и мы можем непосредственно вводить и использовать его в нашем собственном объекте.
Суммировать
Выше приведено метод использования JDBctemplate для подключения к базе данных MySQL с помощью Spring Boot и Kotlin, который я представил вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!