黑马程序员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的部署

相关推荐
北执南念13 分钟前
项目代码生成工具
java
中国lanwp19 分钟前
springboot logback 默认加载配置文件顺序
java·spring boot·logback
cherishSpring30 分钟前
在windows使用docker打包springboot项目镜像并上传到阿里云
spring boot·docker·容器
LKAI.34 分钟前
k8s存储动态供给StorageClass
docker·微服务·云原生·容器·kubernetes
苹果酱05671 小时前
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
java·vue.js·spring boot·mysql·课程设计
Java致死1 小时前
单例设计模式
java·单例模式·设计模式
胡子发芽1 小时前
请详细解释Java中的线程池(ThreadPoolExecutor)的工作原理,并说明如何自定义线程池的拒绝策略
java
沫夕残雪1 小时前
Tomcat的安装与配置
java·tomcat
胡子发芽2 小时前
请解释Java中的NIO(New I/O)与传统I/O的区别,并说明NIO中的关键组件及其作用
java
柚个朵朵2 小时前
IDEA中使用Git
java·git·spring