初衷
在我学习完了ssm框架,以及跟着B站视频练习了一个尚筹网
的项目之后,准备在暑假巩固所学的框架搭建过程,以及业务逻辑、数据库建表、前端页面的知识,本人喜欢打游戏,所以便有了LOL-show这个项目。
如果你想要学习该项目,那么你可以访问我的github!
工程结构
端口号规定:
eureka:1000
zuul:80
mysql:2000
redis:3000
hero:4000
member:5000
market:6000
order:7000
pay:8000
数据库建表语句
1 | create table lol_area( |
SpringBoot pageHelper插件
添加依赖
1 | <dependency> |
用法:在需要分页的方法中启动分页,需要注意的是,分页的是在开启分页之后的第一个查询语句
1 |
|
查询出来的list结果封装到PageInfo实例对象中
注意的是,在后台远程方法调用的时候,PageInfo的泛型并不是PageInfo<List
而是对应的JavaBean类型例如:
1 | PageInfo<PlanVO> getPagePlanVOList(Integer pageNum,Integer pageSize,Integer id); |
否则会报一个
pagehelper 返回前台的json转换异常com.fasterxml.jackson.databind.exc.Mismatch的异常
使用了layui的日期插件
点击输入框可以弹出日期选择框,如下图所示效果
加入layui的css样式和js
1 | <link rel="stylesheet" href="layui/css/layui.css" media="all"> |
1 | // 添加日期插件 |
使用了谷歌Kaptcha 生成验证码插件
加入依赖
1 | <!-- Google Kaptcha --> |
相关的配置
1 |
|
controller代码
1 |
|
前台显示
1 | <img id="verificationCodeImg" src="/api/kaptcha/defaultKaptcha" style="cursor: pointer;" title="看不清?换一张" /> |
添加点击“看不清?换一张”的事件
1 | // 刷新验证码 |
效果图
改变文本输入框获取值
1 | // 为输入英雄名称的文本框绑定文本改变的事件 |
mybatis模糊查询的三种方式
1 | select id,name,age,score from star where name like "%" #{name} "%" |
thymeleaf循环的状态变量
1 | th:each属性用于迭代循环,语法:th:each="obj,iterStat:${objList}" |
mysql 根据拼音首字母查询
1 | SELECT id,full_name , |
部署项目
打包
包含第三方jar包的工程的build
1 | <build> |
其余的,如果依赖springboot父工程,加上
1 | <build> |
如果不依赖任何工程,直接打包
1 | mvn clean install -Dmaven.test.skip=true // 忽略test |
准备服务器环境
安装jdk
在/etc/profile文件的最后配置java环境
1 | JAVA_HOME=/opt/sorftware/jdk1.8.0_251 |
安装mysql
缺少 libaio
1 | yum install libaio |
修改密码需要设置密码的级别:注意!
授权远程连接
1 | GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'rootroot' WITH GRANT OPTION; |
微服务远程调用报错找不到主机,因为我的redisServer以及mysqlServer在另一个服务器上,所以consumer想要调用这两个server的服务,必须找到我的另一个服务器,但是我发现服务器的名字没有使用ip地址,所以依照参考
的调试最后成功了!
运行jar包
1 | nohup java -jar xxx.jar >/dev/null 2>&1 & |
报错:UnknownHostException