黑马程序员MybatisPlus/Docker相关内容

Day01

MP相关知识

1. mp配置类:

2.条件构造器:

具体的实现例子:
①QuerryWapper:

②LambdaQueryWrapper:

3.MP的自定义SQL

4.MP的Service层的实现

5.IService下的Lambda查询

原SQL语句的写法:

Lambda 查询语句的实现:

6.IService下的Lambda更新

lambdaUpdate的实现:

7.MP中批量增加的方法

8.MP中的逻辑删除方法

自动的去执行update的方法

9.MP中的分页插件

①:配置分页的配置类

②:MP分页使用的举例

10.MP中通用分页查询的实例

实现步骤:

①:通用分页结果:

②:controller层接口

③:具体实现类

或者这种形式:

复制代码
@GetMapping("/page")
public Result pageQuery(int page,int pageSize,String name){//使用mp提供的分页插件
    //创建分页构造器,表示几页几条
    Page<Employee> pageInfo = new Page<>(page,pageSize);
    //通过条件构造类构造其他的过滤条件
    LambdaQueryWrapper<Employee> lambdaQueryWrapper = new LambdaQueryWrapper<>();
    //条件,前端发送过来的指定姓名,模糊匹配,且姓名非空
    lambdaQueryWrapper.like(!StringUtils.isEmpty(name),Employee::getName,name);
    //指定结果的降序
    lambdaQueryWrapper.orderByDesc(Employee::getCreateTime);
    //执行查询
    empService.page(pageInfo,lambdaQueryWrapper);

    //响应数据
    return Result.success(pageInfo);
}

Day02

Docker相关内容学习

1.docker命令解读



2.docker的常见命令

3.docker拉取练习

步骤:

①:docker pull nginx -------拉取nginx镜像

②:docker images ----------查看镜像列表

③:docker run -d --name nginx -p 80:80 nginx -------运行nginx容器

④:docker ps ------------查看启动的容器列表

⑤:docker stop nginx -----停止容器的运行

⑥: docker start nginx --启动容器

⑦:docker logs -f nginx --------实时查看nginx的日志

⑧:docker rm nginx ---删除容器

4.数据卷挂载

补充:docker进入容器内。于进入一个正在运行的容器中并以交互方式执行命令。

复制代码
docker exec -it nginx bash

数据卷相关内容:

5.数据卷相关案例(nginx)

可以在容器启动的时间直接指定好容器的挂载

复制代码
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

查看现有的数据卷

复制代码
docker volume ls

查看数据卷的详细信息

复制代码
docker volume inspect 名称
eg:docker volume inspect html

6.数据卷相关案例(MySql)

补充:图片中的内容是MySQL的匿名挂载的路径:


挂载的位置:

注:执行命令前,需要先在linux中创建出对应的文件夹

查看启动中的容器

复制代码
docker ps

关闭mysql对应的容器

复制代码
docker rm -f mysql

启动对应的mysql并实现挂载的功能

复制代码
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v /root/mysql/data:/var/lib/mysql \
  -v /root/mysql/init:/docker-entrypoint-initdb.d \
  -v /root/mysql/conf:/etc/mysql/conf.d \
  mysql

使用本机navicat进行连接即可

Day03

Dockerfile相关内容学习

1.自定义镜像

一个java项目的镜像的结构是这样的

Dockerfile相关的命令:

2.自定义镜像Demo

左边是:从linux系统开始一步一步去创建dockerfile文件。右边是直接创建出了jre的镜像,包含了前面红色部分的内容。

3.自定义镜像

练习:将黑马资料中的文件上传到root目录下

通过 docker load -i jkd.tar 来加载资料中提供的jkd的镜像

进入dockerfile所在的目录下执行

复制代码
docker build -t docker-demo . 

通过命令查看构建的镜像

复制代码
docker images

启动构建的docker镜像

复制代码
docker run -d --name dd -p 8080:8080 docker-demo

查看对应的所有容器

复制代码
docker ps

根据docker的name来加载对应的日志

复制代码
docker logs -f dd

部署成功之后的访问路径

总结:

4.docker的网络

可以通过命令

复制代码
eg:docker inspect mysql    //查看mysql容器的ip地址

默认情况下创建出的容器中ip是自动去分配的

网络相关的命令:

1.创建一个网络

复制代码
docker network create heima 

2.将现在的mysq容器加入到heima这个网络中

复制代码
docker network connect 网络名 容器名
-------docker network connect heima mysql 

3.在启动容器的时间直接将加入网络中去的命令,

复制代码
docker run -d --name dd -p 8080:8080 --network heima docker-demo

5.后端项目的部署

①:打包黑马资料中黑马商城的项目,并放在linux中。

②:执行对应的dockerfile的命令

复制代码
 docker build -t hmall .

③:加载对应的镜像为容器,并指定对应的网络

复制代码
docker run -d --name hm -p 8080:8080 --network heima hmall

④:查看对应的日志即可

复制代码
docker logs -f hm                                    //看到启动容器的日志

这就表示后端的包部署成功

6.前端项目的部署

需要重新去部署ngin相关的内容

①:删除nginx容器

复制代码
docker rm -f nginx

②:重新加载nginx容器

复制代码
docker run -d \
	--name nginx \
	-p 18080:18080 \
	-p 18081:18081 \
	-v /root/nginx/html:/usr/share/nginx/html \
	-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \
	--network heima \
	nginx

③:部署成功,访问18080端口即可看到商城页面

7.DockerCompose的使用

对应关系:

上面的部署的详细信息:

上传对应的compose文件

DockerCompose相关的命令

相关操作:

补充:修改对应的nginx的配置

①:删除所有的容器

复制代码
docker rm -f mysql nginx hm/

②:删除对应多余的镜像

复制代码
docker rmi hmall docker-demo

③:执行对应的docker compose命令

复制代码
docker compose up -d

完成DockerCompose的部署

相关推荐
kimble_xia@oracle4 分钟前
SQL 笔记
java·数据库·oracle
David爱编程18 分钟前
深度解析:synchronized 性能演进史,从 JDK1.6 到 JDK17
java·后端
脑子慢且灵37 分钟前
【JavaWeb】一个简单的Web浏览服务程序
java·前端·后端·servlet·tomcat·web·javaee
B612 little star king1 小时前
力扣29. 两数相除题解
java·算法·leetcode
野犬寒鸦1 小时前
力扣hot100:环形链表(快慢指针法)(141)
java·数据结构·算法·leetcode·面试·职场和发展
上官浩仁1 小时前
springboot synchronized 本地锁入门与实战
java·spring boot·spring
Gogo8161 小时前
java与node.js对比
java·node.js
SmartJavaAI1 小时前
Java调用Whisper和Vosk语音识别(ASR)模型,实现高效实时语音识别(附源码)
java·人工智能·whisper·语音识别
用户3721574261351 小时前
Python 高效实现 Word 转 PDF:告别 Office 依赖
java
渣哥1 小时前
Java ThreadPoolExecutor 动态调整核心线程数:方法与注意事项
java