diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..c84f7d6
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,44 @@
+import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
+
+group = "org.example"
+version = "1.0-SNAPSHOT"
+
+plugins {
+    application
+    kotlin("jvm") version "1.3.61"
+    kotlin("plugin.spring") version "1.3.50"
+    id("org.springframework.boot") version "2.2.5.RELEASE"
+    id("io.spring.dependency-management") version "1.0.9.RELEASE"
+    id("com.github.johnrengelman.shadow") version "5.0.0"
+}
+
+application {
+    mainClassName = "com.example.sample.SpringSampleApplicationKt"
+}
+
+repositories {
+    mavenCentral()
+    jcenter()
+}
+
+dependencies {
+    implementation(group = "org.springframework.boot", name = "spring-boot-starter")
+    implementation(group = "org.springframework.boot", name = "spring-boot-starter-web")
+    implementation(group = "com.fasterxml.jackson.module", name = "jackson-module-kotlin")
+    implementation(group = "org.mybatis.spring.boot", name = "mybatis-spring-boot-starter", version = "1.3.0")
+    implementation(group = "org.projectlombok", name = "lombok", version = "1.18.12")
+    implementation(group =  "org.xerial", name = "sqlite-jdbc", version = "3.8.11.2")
+}
+
+tasks {
+    withType<Jar> {
+        manifest {
+            attributes(
+                mapOf(
+                    "Main-Class" to application.mainClassName
+                )
+            )
+        }
+    }
+}
+