当前位置:   article > 正文

10-1-Spring Boot综合项目实战-准备工作_blog_system.sql

blog_system.sql

源码地址:

axinawang/oebloghttps://gitee.com/axinawang/oeblog

一、系统演示与概述

1.演示

项目:简易的博客系统

2.系统功能介绍

前端使用Spring Boot支持的模板引擎Thymeleaf+jQuery完成页面信息展示

后端使用Spring MVC+Spring Boot+MyBatis框架进行整合开发

3.项目效果预览

前台首页

文章详情页

文章评论页

后台首页

后台文件编辑页面

后台文章管理列表页面

二、项目设计

1.系统开发及运行环境

操作系统:Windows

Java开发包:JDK 8

项目管理工具:Maven 3.6.0

项目开发工具:eclipse 或  IntelliJ IDEA

数据库:MySQL

缓存管理工具:Redis 3.2.100

浏览器:谷歌浏览器

2.文件组织结构

3.数据库设计

文章详情表t_article

字段名

类型

长度

是否为主键

说明

id

int

11

文章id

title

varchar

50

文章标题

content

longtext

文章内容

created

date

创建时间

modified

date

修改时间

categories

varchar

200

文章分类

tags

varchar

200

文章标签

allow_comment

tinyint

1

是否允许评论(默认1)

thumbnail

varchar

200

文章缩略图

文章评论表t_comment

字段名

类型

长度

是否为主键

说明

id

int

11

评论id

article_id

int

11

评论关联的文章id

created

date

 

创建时间

ip

varchar

200

评论用户所在ip

content

text

 

评论内容

status

varchar

200

评论状态(默认approved)

author

varchar

200

评论作者名

文章统计表t_statistic

字段名

类型

长度

是否为主键

说明

id

int

11

文章统计id

article_id

int

11

文章id

hits

int

11

文章点击量

comments_num

int

11

文章评论量

用户信息表t_user

字段名

类型

长度

是否为主键

说明

id

int

11

用户id

username

varchar

200

用户名

password

varchar

200

用户密码(加密后的密码)

email

varchar

200

用户邮箱

created

date

创建时间

valid

tinyint

1

是否为有效用户(默认1)

用户权限表authority

字段名

类型

长度

是否为主键

说明

id

int

11

权限id

authority

varchar

200

权限以ROLE_开头

用户权限关联表t_user_authority

字段名

类型

长度

是否为主键

说明

id

int

11

关联表主键id

user_id

int

11

用户id

authority_id

int

11

权限id

三、准备数据库资源

创建一个名称为blog_system的数据库,并选择该数据库,点击axinawang/oeblog,去下载源码,在每个项目下的resources都有blog_system.sql文件,执行这个脚本文件,结果如下:

四、准备项目环境

1.创建Spring Boot项目,引入依赖文件

项目名称:blog_system,包名:域名反写+项目名

  1.         <!-- 阿里巴巴的Druid数据源依赖启动器 -->
  2.         <dependency>
  3.             <groupId>com.alibaba</groupId>
  4.             <artifactId>druid-spring-boot-starter</artifactId>
  5.             <version>1.1.10</version>
  6.         </dependency>
  7.         <!-- MyBatis依赖启动器 -->
  8.         <dependency>
  9.             <groupId>org.mybatis.spring.boot</groupId>
  10.             <artifactId>mybatis-spring-boot-starter</artifactId>
  11.             <version>2.0.0</version>
  12.         </dependency>
  13.         <!-- MySQL数据库连接驱动 -->
  14.         <dependency>
  15.             <groupId>mysql</groupId>
  16.             <artifactId>mysql-connector-java</artifactId>
  17.             <scope>runtime</scope>
  18.         </dependency>
  19.         <!-- Redis服务启动器 -->
  20.         <dependency>
  21.             <groupId>org.springframework.boot</groupId>
  22.             <artifactId>spring-boot-starter-data-redis</artifactId>
  23.         </dependency>
  24.         <!-- mail邮件服务启动器 -->
  25.         <dependency>
  26.             <groupId>org.springframework.boot</groupId>
  27.             <artifactId>spring-boot-starter-mail</artifactId>
  28.         </dependency>
  29.         <!-- thymeleaf模板整合security控制页面安全访问依赖 -->
  30.         <dependency>
  31.             <groupId>org.thymeleaf.extras</groupId>
  32.             <artifactId>thymeleaf-extras-springsecurity5</artifactId>
  33.         </dependency>
  34.         <!-- Spring Security依赖启动器 -->
  35.         <dependency>
  36.             <groupId>org.springframework.boot</groupId>
  37.             <artifactId>spring-boot-starter-security</artifactId>
  38.         </dependency>
  39.         <!-- Thymeleaf模板引擎启动器 -->
  40.         <dependency>
  41.             <groupId>org.springframework.boot</groupId>
  42.             <artifactId>spring-boot-starter-thymeleaf</artifactId>
  43.         </dependency>
  44.         <!-- Web服务启动器 -->
  45.         <dependency>
  46.             <groupId>org.springframework.boot</groupId>
  47.             <artifactId>spring-boot-starter-web</artifactId>
  48.         </dependency>
  49.         <!-- MyBatis分页插件 -->
  50.         <dependency>
  51.             <groupId>com.github.pagehelper</groupId>
  52.             <artifactId>pagehelper-spring-boot-starter</artifactId>
  53.             <version>1.2.8</version>
  54.         </dependency>
  55.         <!-- String工具类包-->
  56.         <dependency>
  57.             <groupId>org.apache.commons</groupId>
  58.             <artifactId>commons-lang3</artifactId>
  59.         </dependency>
  60.         <!-- Markdown处理html -->
  61.         <dependency>
  62.             <groupId>com.atlassian.commonmark</groupId>
  63.             <artifactId>commonmark</artifactId>
  64.             <version>0.11.0</version>
  65.         </dependency>
  66.         <!-- Markdown处理表格 -->
  67.         <dependency>
  68.             <groupId>com.atlassian.commonmark</groupId>
  69.             <artifactId>commonmark-ext-gfm-tables</artifactId>
  70.             <version>0.11.0</version>
  71.         </dependency>
  72.         <!-- 过滤emoji表情字符 -->
  73.         <dependency>
  74.             <groupId>com.vdurmont</groupId>
  75.             <artifactId>emoji-java</artifactId>
  76.             <version>4.0.0</version>
  77.         </dependency>
  78.         <!-- devtools热部署工具 -->
  79.         <dependency>
  80.             <groupId>org.springframework.boot</groupId>
  81.             <artifactId>spring-boot-devtools</artifactId>
  82.             <scope>runtime</scope>
  83.         </dependency>
  84.         <!-- Spring Boot测试服务启动器 -->

2.编写配置文件(注意有六个#的注释,其下的属性可能需要修改)

a.将application.properties全局配置文件更名为application.yml

  1. server:
  2.   port: 8081
  3. spring:
  4.   profiles:
  5.     # 外置jdbc、redis和mail配置文件
  6.     active: jdbc,redis,mail,test
  7.   # 关闭thymeleaf页面缓存
  8.   thymeleaf:
  9.     cache: false
  10.   # 配置国际化资源文件
  11.   messages:
  12.     basename: i18n.logo
  13. # MyBatis配置
  14. mybatis:
  15.   configuration:
  16.     #开启驼峰命名匹配映射
  17.     map-underscore-to-camel-case: true
  18. #控制台打印日志,能打印出被扫描的包和被解析的映射文件
  19.     log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  20.   #配置MyBatis的xml映射文件路径
  21.   mapper-locations: classpath:mapper/*.xml
  22. #######配置XML映射文件中指定的实体类别名路径
  23.   type-aliases-package: com.itheima.myblog.model.domain
  24. ######mybatis日志显示SQL
  25. logging:
  26.   level:
  27.     com.itheima.myblog.mapper: debug
  28. #pagehelper分页设置
  29. pagehelper:
  30.   helper-dialect: mysql
  31.   reasonable: true
  32.   support-methods-arguments: true
  33.   params: count=countSql
  34. #浏览器cookie相关设置
  35. COOKIE:
  36.   # 设置cookie默认时长为30分钟
  37.   VALIDITY: 1800

b.创建application-jdbc.properties

  1. spring.datasource.type = com.alibaba.druid.pool.DruidDataSource
  2. spring.datasource.initialSize=20
  3. spring.datasource.minIdle=10
  4. spring.datasource.maxActive=100
  5. #MySQL在高版本需要指明是否进行SSL连接
  6. spring.datasource.url=jdbc:mysql://localhost:3306/blog_system?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false
  7. spring.datasource.username=root
  8. #######修改为你的密码
  9. spring.datasource.password=root

c.创建application-mail.properties

  1. ######
  2. spring.mail.host=smtp.sina.com
  3. ######
  4. spring.mail.port=587
  5. ######
  6. spring.mail.username=lxtestemail@sina.com
  7. ######改为授权码
  8. spring.mail.password=32433bbe46d209a1
  9. spring.mail.default-encoding=UTF-8
  10. spring.mail.properties.mail.smtp.connectiontimeout=5000
  11. ######读超时可能设得不够长,会导致邮件发送失败
  12. spring.mail.properties.mail.smtp.timeout=10000
  13. spring.mail.properties.mail.smtp.writetimeout=5000

d.创建application-redis.properties

  1. spring.redis.host=127.0.0.1
  2. spring.redis.port=6379
  3. spring.redis.password=
  4. # 连接池最大连接数(使用负值表示没有限制)
  5. spring.redis.jedis.pool.max-active=8
  6. # 连接池最大阻塞等待时间(使用负值表示没有限制)
  7. spring.redis.jedis.pool.max-wait=-1
  8. # 连接池中的最大空闲连接
  9. spring.redis.jedis.pool.max-idle=8

3.前端资源引入

 comments.html:两处logoutform改为logoutform2

报错:References to interface static methods are allowed only at source level 1.8

Pom文件的properties标签中添加

  1. <maven.compiler.source>1.8</maven.compiler.source>
  2. <maven.compiler.target>1.8</maven.compiler.target>
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/144874
推荐阅读
相关标签
  

闽ICP备14008679号