版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012292754/article/details/85208869
1 项目需求
1.1 数据库管理(java实现)
default my-db1 my-db2
id:数据库编号
name : 数据库名称
location : 数据库存放在 HDFS/S3/OSS 等文件系统上的目录
/user/hive/warehouse
/user/hive/warehouse/my-db1.db
1.2 表管理(scala语言实现)
my-table1 my-tanle2
id : 表编号
name : 表名称
tableType : 表类型,内部表/外部表
dbId : 表所属的数据库 id
默认存储路径 : db 对应的 location / tablename
2 开发环境搭建
- IDEA + Spring Boot + Data + java
- IDEA + Spring Boot + Data + Scala
- 删除以下的文件
- 新建一个配置文件
- 运行主类
SpringBootScalaApplication.java
访问http://localhost:7777/scala-boot/
- 新建 controller 包,新建
HelloBoot.java
文件
package controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloBoot {
@RequestMapping(value = "/sayHello", method = RequestMethod.GET)
public String sayHelli() {
return "Hello Boot ....";
}
}
- 浏览器访问
http://localhost:7777/scala-boot/sayHello
2.1 POM 文件添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.scala.shizhan</groupId>
<artifactId>spring-boot-scala</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring-boot-scala</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<scala.version>2.11.8</scala.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--添加 Scala 依赖-->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<!--添加Data 的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--添加 Scala 的plugin-->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>compile-scala</id>
<phase>compile</phase>
<goals>
<goal>add-source</goal>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile-scala</id>
<phase>test-compile</phase>
<goals>
<goal>add-source</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<recompileMode>incremental</recompileMode>
<scalaVersion>${scala.version}</scalaVersion>
<args>
<arg>-deprecation</arg>
</args>
<jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.2 新建 Scala 目录
package com.scala.shizhan.controller
import org.springframework.web.bind.annotation.{RequestMapping, RequestMethod, RestController}
@RestController
class ScalaHelloBoot {
@RequestMapping(value = Array("/sayScalaHello"), method = Array(RequestMethod.GET))
def sayScalaHello(): String = {
"Hello Scala Boot ....."
}
}
- 浏览器访问
http://localhost:7777/scala-boot/sayScalaHello
2.3 新建数据库
mysql> create database scalaboot;
Query OK, 1 row affected (0.00 sec)
mysql> use scalaboot;
Database changed
mysql> show tables;
Empty set
mysql>
- 修改配置文件