RESTFUL API를 구축하고 Thymeleaf Template Engine을 사용하여 웹보기 렌더링 등 웹 레이어의 몇 가지 예를 소개했지만 이러한 내용으로는 동적 애플리케이션을 구축하기에 충분하지 않습니다. 일반적으로 앱 또는 웹 애플리케이션을 만들 든 컨텐츠가 필요하며 컨텐츠는 일반적으로 다양한 유형의 데이터베이스에 저장됩니다. 액세스 요청을 수신 한 후 서버는 데이터베이스에 액세스하여 사용자에게 표시되는 데이터 양식으로 데이터베이스를 처리해야합니다.
이 기사는 Spring Boot에서 데이터 소스를 구성하고 JDBCTemplate을 통해 데이터 액세스를 작성하는 예제를 소개합니다.
데이터 소스 구성
데이터베이스에 액세스 할 때 먼저 데이터 소스를 구성해야합니다. 다음은 여러 데이터베이스 구성 방법입니다.
먼저, 데이터베이스에 연결하려면 JDBC 지원을 도입해야하며 다음 구성이 Build.Gradle에 소개됩니다.
"org.springframework.boot : spring-boot-starter-jdbc : $ spring_boot_version"을 컴파일합니다.
데이터 소스에 연결합니다
MySQL 데이터베이스를 예를 들어, 먼저 MySQL Connection Dependency 패키지를 소개하고 Build.Gradle :
"mysql : mysql-connector-java : $ mysql_version"을 컴파일합니다.
완전한 build.gradle
Group '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.mysql_version = '51.21'repositories {mavencettaries (mysql_version =). 종속성 {classpath "org.jetbrains.kotlin : kotlin-gradle-plugin : $ kotlin_version"classpath ( "org.springframework.boot : $ spring-boot-gradle-plugin : $ spring_boot_version") // Kotlin은 Springboot의 기본 매개 변수 구성기를 통합하고 All Classss에 All Classss를 설정합니다. classPath ( "org.jetbrains.kotlin : kotlin-noarg : $ kotlin_version") classPath ( "org.jetbrains.kotlin : kotlin-allopen : $ kotlin_version")}} 플러그인 : 'Kotlin'Apply Plugin : "Kotlin-Spring"// see https://kotlinlang.org/docs/reference/compiler-plugins.html#kotlin-spring-spiler-pluginapply 플러그인 : 'org.springframework.boot'jar {basename ='챕터 11-6-1-service 'version ='0.1.0 '} {mavennation (mavennation) 컴파일 "org.jetbrains.kotlin : kotlin-stdlib-jre8 : $ kotlin_version"compile "org.springframework.boot : spring-boot-starter-web : $ spring_boot_version"compile "org.springframework.boot : spring-boot-starter-jdbc : $ spring_boot _" "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" kotlinoptions.jvmtarget = "1.8"} compiletestestkotlin {kotlinoptions.jvmtarget = "1.8"}SRC/Main/Resources/Application.yml에서 데이터 소스 정보를 구성하십시오
Spring : DataSource : URL : JDBC : MySQL : // localhost : 3306/테스트 사용자 이름 : 루트 비밀번호 : 123456 Driver-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/customer
jdbctemplate을 사용하여 데이터베이스를 작동하십시오
Spring의 jdbctemplate은 자동으로 구성되어 있으며 @autowired를 사용하여 자신의 Bean에 주입 할 수 있습니다.
예를 들어, 우리는 속성 ID, 이름 및 연령을 포함한 사용자 테이블을 만들고 있습니다. 데이터 액세스 개체 및 단위 테스트 케이스를 작성해 봅시다.
삽입, 삭제 및 쿼리가 포함 된 추상 인터페이스를 정의하십시오.
인터페이스 userErvice { / *** 총 사용자 수를 얻으십시오* / val allusers : int? / *** 새 사용자 추가* @param name* @param age*/ fun create (이름 : string, password : string?)/ *** 이름에 따라 사용자를 삭제* @param name*/ fun deletebyName (이름 : string)/ *** 모든 사용자 삭제*/ fun deleteallusers ()}jdbctemplate을 통해 사용자 서비스에 정의 된 데이터 액세스 작업을 구현하십시오
import org.springframework.beans.beans.annotation.autowiredimport org.springframework.jdbc.core.jdbctemplateimport org.springframework.stereotyp.service/*** http://quanke.name 2018/1/10에 의해 생성. */ @serviceclass usererviceimpl : userService {@autowired private val jdbctemplate : jdbctemplate? = 널 재정의 val allusers : int? get () = jdbctemplate !!. QueryForObject ( "QueryForObject (1)에서 count (1)을 선택하십시오", int :: class.java) 재미있는 만들기 (이름 : string, password : string?) {jdbctemplate !!. update (username, password) 값 (?) ", 이름, 비밀번호) {이름 : string) JDBCTEMPLATE !!. 업데이트 ( "username =?", name)} fun fun deleteallusers () {jdbctemplate !!. update ( "사용자에서 삭제")}}}}}}사용자 서비스에 대한 단위 테스트 케이스를 작성하여 생성, 삭제 및 쿼리를 통해 데이터베이스 작업의 정확성을 확인하십시오.
/*** 2018/1/9에 http://quanke.name에 의해 만들어졌습니다. */@runwith (springRunner :: class) @SpringBootTestClass ApplicationTests {val log = logfactory.getLog (ApplicationTests :: class.java) !! @autowired lateinit var userervice : userervice @test fun`jdbc test "`() {val username ="val username = "quanke"val password = "123456"// 삽입 5 user userervice.create ( "$ username a", "$ password 1") userservice.create ( "$ username b")) c ","$ password 3 ") userervice.create ("$ username d ","$ password 4 ") userervice.create.create ("$ username e ","$ password 5 ") log.info ("Total Users $ {userservice.allusers} ") // 두 사용자 userservice.deleteByName ("$ username ( "$ username a")) b ") log.info ("총 사용자 $ {userservice.allusers} ")}}위에서 소개 된 jdbctemplate은 가장 기본적인 작업 중 일부일뿐입니다. 다른 데이터 액세스 작업 사용에 대한 자세한 내용은 JDBCTEMPLATE API를 참조하십시오.
위의 간단한 예를 통해 Spring Boot에서 데이터베이스에 액세스하는 구성이 여전히 프레임 워크의 원래 의도를 준수한다는 것을 알 수 있습니다. pom.xml에 데이터베이스 종속성을 추가 한 다음 Application.yml에서 연결 정보를 구성하면됩니다. 우리는 스프링 애플리케이션과 같은 jdbctemplate bean을 만들 필요가 없으며, 우리 자신의 객체에 직접 주입하여 사용할 수 있습니다.
요약
위는 JDBCTemplate를 사용하여 Spring Boot 및 Kotlin을 통해 MySQL 데이터베이스에 연결하는 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!