mysql spring boot_GitHub - dazuimao1990/spring-boot-mysql-demo: Spring Boot with MySQL demo for Rain...

Spring Boot框架配置MySQL

Spring Boot框架简化了新Spring应用的初始搭建以及开发过程,云帮支持平台部署Spring Boot类应用,同时云帮提供Spring Boot配置MySQL服务的示例。

您可以通过如下配置实现Spring Boot框架Hello World示例与Spring Boot框架配置MySQL服务示例:

创建示例

使用spring-boot-cli创建示例

$ docker run -it --rm \

-v $PWD:/app goodrainapps/spring-boot-cli:1.5.9 spring init --dependencies=web spring-boot-mysql-demo

进入示例类文件存放目录

$ cd spring-boot-mysql-demo/src/main/java/com/example/springbootmysqldemo

添加DemoApplication.java

@Controller

@SpringBootApplication

public class DemoApplication {

@RequestMapping("/")

@ResponseBody

String home() {

return "Hello World!";

}

public static void main(String[] args) {

SpringApplication.run(DemoApplication.class, args);

}

}

构建

为了加快maven构建,在setting.xml中添加了国内的mirror。将setting.xml拷贝到您的spring-boot-mysql-demo中。

$ cd spring-boot-mysql-demo

$ docker run -it --rm \

-v "$PWD":/app/build \

-w /app/build maven:3.5.2-jdk-7-alpine mvn -B -DskipTests=true -s settings.xml clean install

运行

执行以下命令运行Hello World 示例

$ cd spring-boot-mysql-demo

$ docker run -it --rm -v $PWD:/app -w /app -p 8080:8080 goodrainapps/openjdk:8u131-jre-alpine java -jar target/*.jar

配置数据库

云帮提供Spring-boot-mysql-demo的相关配置目录结构如下,配置文件内容仅供参考。

59a78e80c85a1b6836cbc61d16337cc2.png

详细配置参考下文:

连接MySQL

添加以下内容,将此应用与数据库进行连接。

在pom.xml内添mysql数据库服务 :

mysql

mysql-connector-java

5.1.9

添加JDBC驱动:

org.springframework.boot

spring-boot-starter-jdbc

在application.properties添加数据库连接信息:

spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MSYQL_PORT}/demo?createDatabaseIfNotExist=true

spring.datasource.username=${MYSQL_USER}

spring.datasource.password=${MYSQL_PASS}

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.maxActive=10

spring.datasource.maxIdle=5

spring.datasource.minIdle=2

spring.datasource.initialSize=5

spring.datasource.removeAbandoned=true

在源码添加DatabaseConfig.java

@Configuration

public class DatabaseConfig {

@Bean

@Primary

@ConfigurationProperties(prefix = "spring.datasource")

public DataSource dataSource() {

return new org.apache.tomcat.jdbc.pool.DataSource();

}

}

数据库初始化

使用 JPA 管理生成实体的映射关系的代码。

org.springframework.boot

spring-boot-starter-data-jpa

数据库重构与迁移

使用LiquiBase,以便将JPA生成实体的映射关系在数据库体现。第一步,在pom.xml添加:

org.liquibase

liquibase-core

3.4.1

第二步,创建 Liquibase 的修改日志,默认从 db.changelog-master.yaml 读取:

databaseChangeLog:

- changeSet:

id: 1

author:

changes:

- createTable:

tableName: person

columns:

- column:

name: id

type: int

autoIncrement: true

constraints:

primaryKey: true

nullable: false

- column:

name: first_name

type: varchar(255)

constraints:

nullable: false

- column:

name: last_name

type: varchar(255)

constraints:

nullable: false

模板渲染

Thymeleaf可以帮助渲染XML、XHTML、HTML5内容的模板引擎,它也可以轻易的与Spring MVC等Web框架集成作为Web应用的模板引擎。在pom.xml中添加:

org.springframework.boot

spring-boot-starter-thymeleaf

docker化改造

为了支持 Spring Boot MySQL demo 轻松部署在云帮,将demo使用Dockerfile构建镜像,在云帮实现一键式部署

#使用配置好环境的父镜像

FROM maven:3.5.2-jdk-7-alpine

#创建demo源码工作目录

RUN mkdir /app

#将本地源码拷贝到镜像中

COPY . /app/

#指定工作目录

WORKDIR /app

#声明映射端口

EXPOSE 5000

#指定maven的配置文件,文件内制定新的mirror地址

RUN mvn -s settings.xml -B -DskipTests=true clean install

#启动脚本

ENTRYPOINT ["/app/run.sh"]

构建镜像

$ docker build -t goodrainapps/spring-boot-mysql-demo .

运行

#运行mysql

$ docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql

#运行示例

$ docker run -it --rm --link mysql \

-p 5000:5000 \

-e MYSQL_HOST=mysql \

-e MYSQL_PORT=3306 \

-e MYSQL_USER=root \

-e MYSQL_PASS=123456 \

goodrainapps/spring-boot-mysql-demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值