Watch 3 Star 5 Fork 0

WeFamily / springboot-layui-mysqlJava

Join us
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
一个使用SSM架构,集成Layui,MySQL,搭建一个学习的示例 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

SpringBoot+Layui+MySQL(简称SLM)

环境组成

  • Java
  • Maven
  • MySQL
  • Layui
  • IntelliJ IDEA
  • Navigation Premium
  • Google Chrome
  • Docker

目录结构

  • slm是项目目录
  • sql是初始化数据库的代码
  • imgs是存放效果图
  • readme.md是介绍文档

开发环境

  1. 修改本机的hosts文件,在最后一行下面增加127.0.0.1 mysql
  2. IntelliJ IDEA打开slm即可
  3. 前提:数据库配置的端口是3306,数据库账号是root,密码是1bruce@,否则需要修改src/main/resources/application.yml中的DataSourceusernamepassword字段
  4. 在Navigation Premium中连接上MySQL数据库,使用sql/slm.sql初始化数据库
  5. 找到src下的com.main.java.com.brucekong.slm下的SlmApplication.java,右击run 'SlmApplication'
  6. 在Google Chrome中打开http://localhost:8080/即可打开登录页面

Docker部署

Docker基本命令

由于ibrucekong/slm是私有共有镜像,能查询、推送、拉取等操作。

基本命令(知识点):

  • $ docker ps # 查看运行的镜像
  • $ docker images # 查看所有镜像
  • $ docker rename origin_name wanted_name # 修改容器的name
  • $ docker logs -f container_name # 查看某个容器的log信息
  • $ docker tag image_id repository:tag # 修改镜像的tag
  • $ docker search [docker-image-name] # 查询public的镜像
  • $ docker pull ibrucekong/slm # 拉取镜像
  • $ docker build -t ibrucekong/slm:latest # 构建镜像
  • $ docker run -it -p 8080:8080 ibrucekong/slm:latest # 前面8080是真正运行的端口,后面的8080是内部端口,访问localhost:8080(这里的8080是前面的),ibrucekong/slm是镜像名称,latest是tag
  • $ docker commit -m "comment" -a="author" e218edb10161 ibrucekong/slm:latest # e218edb10161 是容器ID(run起来后,使用docker ps查看,然后停下来,再去push),-a指镜像作者,ibrucekong/slm是镜像名称,latest是tag
  • $ docker push ibrucekong/slm:latest # 推送镜像 latest是tag,如果提示超时,重试即可
  • $ docker inspect ibrucekong/slm # 验证镜像
  • $ docker network create --subnet=172.18.0.0/16 slm # 创建172.18.0.0子网段网络 命名为 slm
  • $ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id 或 contatiner_name # 查看容器的运行IP
  • https://hub.docker.com/r/ibrucekong/slm/查看是否已经推送成功

拉取数据库:

docker pull ibrucekong/mysql:0.0.1 # 如果不加:0.0.1默认拉取latest

修改数据库信息(知识点):

  • 如果Navicat Premium链接数据库报错,提示2059 - authentication plugin 'caching_sha2_password',则有两种方法可以解决:

    1. 配置MySQL
    # 先修改MySQL的配置文件my.ini或my.cnf,将default_authentication_plugin=mysql_native_password
    # 执行下面语句,进入docker-mysql的linux环境,可以进一步操作数据库
    $ docker exec -it docker-mysql /bin/bash 
    # 执行下面语句,然后输入密码,进入数据库操作命令行
    $ mysql -u root -p
    # 将'你要修改的密码'中的汉字改为你要修改的密码,回车
    $ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你要改成的密码'; 
    1. 升级Navicat Premium

    将Navicat Premium升级到12.0.28以上版本

镜像的提交推送

推送项目包:

  1. 构建镜像

    mvn clean package docker:build

  2. 测试镜像

    docker run --name slm -it -p 8080:8080 ibrucekong/slm

    使用docker ps获取容器ID并记下,比如ID为061463b9b32d

    访问(http://localhost:8080/),其中前面的8080是访问的端口,后面的8080是docker内部启动端口。

  3. 提交镜像

    docker commit -m "提交日志" -a="ibrucekong" 061463b9b32d ibrucekong/slm:latest

  4. 推送镜像

    docker push ibrucekong/slm:latest

推送数据库:

  1. 测试数据库
  2. 提交镜像
  3. 推送镜像

Docker部署

两个仓库都在ibrucekong用户下,都是public类型,可以通过docker pull ibrucekong/slm:tag获取。

  1. 拉取镜像

    $ docker pull ibrucekong/slm:latest # 拉取项目镜像,不加:latest,默认latest,这是一个私有仓库,需要用户权限
    $ docker pull ibrucekong/mysql:latest # 拉取数据库镜像,不加:latest,默认latest
  2. 运行镜像

    # 数据库部署(前提有Git环境)
    
    # Windows设置语句,在git bash中切换到D:\database\,执行以下代码
    $ git clone https://gitee.com/wefamily/mysql.git
    # 使用docker运行要达到持久化,就要连接到本地的mysql数据库,使用 -v
    $ docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1bruce@  -v d:/database/mysql:/var/lib/mysql -d ibrucekong/mysql:latest
    
    # Ubuntu设置语句,在git bash中切换到~/Documents/slm/,执行以下代码
    $ git clone https://gitee.com/wefamily/mysql.git
    $ docker run --name docker-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1bruce@  -v ~/Documents/slm/mysql:/var/lib/mysql -d ibrucekong/mysql:latest
    
    # SLM项目部署
    $ docker run -it -p 8080:8080 --name docker-slm --link docker-mysql:mysql ibrucekong/slm # 再运行项目,关键 --link docker-mysql:mysql 的mysql字段
  3. 测试系统

    在浏览器中访问(http://localhost:8080/),系统即可正常运行。

    在浏览器中访问(http://localhost:8080/doc.html),访问接口文档。

DONE

  • 2019.01.30 完成大部分Layui前端页面接口数据对接
  • 2019.01.12 增加Layui前端页面,增加lombok注解,增加Swagger接口文档生成注解;增加菜单生成接口;调整资源引用路径
  • 2018.11.15 更改包名
  • 2018.11.14 完成docker部署,tag:0.0.2
  • 2018.11.13 解决登录时点击两次的bug
  • 2018.11.07 集成MySQL持久化
  • 2018.11.06 Docker的集成,集成在ibrucekong用户下,仓库slm,可以通过docker pull ibrucekong/slm获取
  • 2018.10.29 Springboot的搭建,MySQL的集成,登录界面的嵌入

TODO

  • 完善忘记密码面板
  • 逐步设计数据库(现在只是完成了数据的拉取,数据库逻辑并未设计)
  • 编写接口实现Layui的admin 1.0.0 pro版本的剩余接口(高级->通讯系统:加好友,发消息)

效果图展示

  • 系统展示界面

登录

main

  • 接口文档展示界面

DOC

Comments ( 0 )

Sign in for post a comment

Java
1
https://gitee.com/wefamily/springboot-layui-mysql.git
git@gitee.com:wefamily/springboot-layui-mysql.git
wefamily
springboot-layui-mysql
springboot-layui-mysql
master

Help Search