Mybatis-Plus-入门简介(2)

news2025/2/28 19:58:50

Mybatis-Plus-入门简介

1.简介

Mybatis-Plus官网:https://baomidou.com/

Mybatis-Plus仓库地址:https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter

仓库地址:仓库地址:https://gitee.com/long-xiaozhen/learning-mybatis-plus.git

1.1快速开始

创建基本的测试的表

直接照着执行,不需要创建库

-- --------------------------------------------------------
-- 主机:                           127.0.0.1
-- 服务器版本:                        8.0.28 - MySQL Community Server - GPL
-- 服务器操作系统:                      Win64
-- HeidiSQL 版本:                  12.2.0.6576
-- --------------------------------------------------------
 
-- 导出 mp 的数据库结构
CREATE DATABASE IF NOT EXISTS `mp` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `mp`;
 
-- 导出  表 mp.address 结构
CREATE TABLE IF NOT EXISTS `address` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `user_id` bigint DEFAULT NULL COMMENT '用户ID',
  `province` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '省',
  `city` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '市',
  `town` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '县/区',
  `mobile` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '手机',
  `street` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '详细地址',
  `contact` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人',
  `is_default` bit(1) DEFAULT b'0' COMMENT '是否是默认 1默认 0否',
  `notes` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `user_id` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=COMPACT;
 
-- 正在导出表  mp.address 的数据:~7 rows (大约)
DELETE FROM `address`;
INSERT INTO `address` (`id`, `user_id`, `province`, `city`, `town`, `mobile`, `street`, `contact`, `is_default`, `notes`) VALUES
    (59, 2, '北京', '北京', '朝阳区', '13900112222', '金燕龙办公楼', 'Rose', b'1', NULL),
    (60, 1, '北京', '北京', '朝阳区', '13700221122', '修正大厦', 'Jack', b'0', NULL),
    (61, 1, '上海', '上海', '浦东新区', '13301212233', '航头镇航头路', 'Jack', b'1', NULL),
    (63, 2, '广东', '佛山', '永春', '13301212233', '永春武馆', 'Rose', b'0', NULL),
    (64, 3, '浙江', '杭州', '拱墅区', '13567809102', '浙江大学', 'Hope', b'1', NULL),
    (65, 3, '浙江', '杭州', '拱墅区', '13967589201', '左岸花园', 'Hope', b'0', NULL),
    (66, 4, '湖北', '武汉', '汉口', '13967519202', '天天花园', 'Thomas', b'1', NULL);
 
-- 导出  表 mp.user 结构
CREATE TABLE IF NOT EXISTS `user` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `password` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  `phone` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '注册手机号',
  `info` json NOT NULL COMMENT '详细信息',
  `status` int DEFAULT '1' COMMENT '使用状态(1正常 2冻结)',
  `balance` int DEFAULT NULL COMMENT '账户余额',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1674613593516095922 DEFAULT CHARSET=utf8mb3 ROW_FORMAT=COMPACT COMMENT='用户表';
 
-- 正在导出表  mp.user 的数据:~4 rows (大约)
DELETE FROM `user`;
INSERT INTO `user` (`id`, `username`, `password`, `phone`, `info`, `status`, `balance`, `create_time`, `update_time`) VALUES
    (1, 'Jack', '123', '13900112224', '{"age": 20, "intro": "佛系青年", "gender": "male"}', 1, 1600, '2023-05-19 20:50:21', '2023-06-19 20:50:21'),
    (2, 'Rose', '123', '13900112223', '{"age": 19, "intro": "青涩少女", "gender": "female"}', 1, 300, '2023-05-19 21:00:23', '2023-06-19 21:00:23'),
    (3, 'Hope', '123', '13900112222', '{"age": 25, "intro": "上进青年", "gender": "male"}', 1, 100000, '2023-06-19 22:37:44', '2023-06-19 22:37:44'),
    (4, 'Thomas', '123', '17701265258', '{"age": 29, "intro": "伏地魔", "gender": "male"}', 1, 800, '2023-06-19 23:44:45', '2023-06-19 23:44:45');
 
/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;

在这里插入图片描述

在这里插入图片描述

1.2创建基本的my的结构

父依赖

    <dependencies>
<!--        test-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
<!--        hutool工具包-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.11</version>
        </dependency>
<!--        JSON 数据的序列化和反序列化-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-json</artifactId>
        </dependency>
<!--        lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <!--          dependencies起到的是版本依赖的管理 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

注意想用Db这个静态类的话需要打入下面版本的依赖

        <!--        mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>

原先的3.5.2的是没有的。

依赖

  <dependencies>
        <!--        spring-web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- MySQL 驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
        </dependency>
        <!--        mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

    </dependencies>

    <build>
        <!--项目打包时会讲java目录中的*.xml文件也进行打包-->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

创建配置文件

server:
  port: 8081
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mp?useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true  #开启驼峰命名匹配
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.lxz.demo.domain

代码生成基本的结构。

在这里插入图片描述

1.3创建完项目之后完成基本的测试的工作

在这里插入图片描述
创建基本的测试代码的结构

@SpringBootTest
public class TestApplication {

    @Autowired
    private UserMapper userMapper;
    @Autowired
    private AddressMapper addressMapper;

//编写相关的测试的代码
}

注意下面的json需要转换成string类型的字符串才能进行插入的

测试插入的代码


 @Test
    void test1(){
        //要么就是insert就是save,创建一个User对象就写入进行就可以的
        User user=new User();
        user.setUsername("张三");
        user.setPassword("13900112224");
        JSONObject jsonObject=new JSONObject();
        //hutool中的
        jsonObject.set("age",29);
        jsonObject.set("intro","伏地魔");
        jsonObject.set("gender","male");
        user.setInfo(jsonObject.toString());
        user.setStatus(1);
        user.setBalance(2000);
        user.setCreateTime(DateTime.now());
        user.setUpdateTime(DateTime.now());
        int line=userMapper.insert(user);
        System.out.println("line="+line);
    }
    
插入的结果
JDBC Connection [HikariProxyConnection@1768142988 wrapping com.mysql.cj.jdbc.ConnectionImpl@ab24484] will not be managed by Spring
==>  Preparing: INSERT INTO user ( username, password, info, status, balance, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ? )
==> Parameters: 张三(String), 13900112224(String), {"age":29,"intro":"伏地魔","gender":"male"}(String), 1(Integer), 2000(Integer), 2023-09-02 22:29:44.733(Timestamp), 2023-09-02 22:29:44.734(Timestamp)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@28369db0]
line=1


在这里插入图片描述

 查询指定的id的
 @Test
    void test2(){
        //查询get 或者是select 找对应的关键词就行
       User user= userMapper.selectById(1674613593516095922L);
        System.out.println("user="+user.toString());
    }
    
    
结果
JDBC Connection [HikariProxyConnection@2123492724 wrapping com.mysql.cj.jdbc.ConnectionImpl@3878be7b] will not be managed by Spring
==>  Preparing: SELECT id,username,password,phone,info,status,balance,create_time,update_time FROM user WHERE id=?
==> Parameters: 1674613593516095922(Long)
<==    Columns: id, username, password, phone, info, status, balance, create_time, update_time
<==        Row: 1674613593516095922, 张三, 13900112224, null, <<BLOB>>, 1, 2000, 2023-09-02 22:29:45, 2023-09-02 22:29:45
<==      Total: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@31b7d869]
user=User(id=1674613593516095922, username=张三, password=13900112224, phone=null, info={"age": 29, "intro": "伏地魔", "gender": "male"}, status=1, balance=2000, createTime=Sat Sep 02 22:29:45 CST 2023, updateTime=Sat Sep 02 22:29:45 CST 2023)


批量查询
    @Test
    void test3(){
        //批量查询 需要传入一个集合数组
        List<Long> ids=new ArrayList<Long>();
        ids.add(1L);
        ids.add(2L);
        ids.add(3L);

        List<User> users= userMapper.selectBatchIds(ids);
        System.out.println("users="+users.toString());
    }

查询结果
==>  Preparing: SELECT id,username,password,phone,info,status,balance,create_time,update_time FROM user WHERE id IN ( ? , ? , ? )
==> Parameters: 1(Long), 2(Long), 3(Long)
<==    Columns: id, username, password, phone, info, status, balance, create_time, update_time
<==        Row: 1, Jack, 123, 13900112224, <<BLOB>>, 1, 1600, 2023-05-19 20:50:21, 2023-06-19 20:50:21
<==        Row: 2, Rose, 123, 13900112223, <<BLOB>>, 1, 300, 2023-05-19 21:00:23, 2023-06-19 21:00:23
<==        Row: 3, Hope, 123, 13900112222, <<BLOB>>, 1, 100000, 2023-06-19 22:37:44, 2023-06-19 22:37:44
<==      Total: 3
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@7cfb4736]
users=[User(id=1, username=Jack, password=123, phone=13900112224, info={"age": 20, "intro": "佛系青年", "gender": "male"}, status=1, balance=1600, createTime=Fri May 19 20:50:21 CST 2023, updateTime=Mon Jun 19 20:50:21 CST 2023), User(id=2, username=Rose, password=123, phone=13900112223, info={"age": 19, "intro": "青涩少女", "gender": "female"}, status=1, balance=300, createTime=Fri May 19 21:00:23 CST 2023, updateTime=Mon Jun 19 21:00:23 CST 2023), User(id=3, username=Hope, password=123, phone=13900112222, info={"age": 25, "intro": "上进青年", "gender": "male"}, status=1, balance=100000, createTime=Mon Jun 19 22:37:44 CST 2023, updateTime=Mon Jun 19 22:37:44 CST 2023)]
2023-09-02 22:36:10.393  INFO 25320 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2023-09-02 22:36:10.400  INFO 25320 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.


    @Test
    void test4(){

        //userMapper.update()

        //userMapper.updateById() 传入的对象必须要有id 改变的是非空的字段的内容 要是不天写的话就是不能更新成功的
        User user=new User();
        user.setUsername("张三修改");
        userMapper.updateById(user);
    }

    @Test
    void test5(){
        User user=new User();
        user.setId(1674613593516095922L);
        user.setUsername("张三修改");
        userMapper.updateById(user);

    }
    
    
test4是更新失败的,但是test5是可以更新成功的。

JDBC Connection [HikariProxyConnection@1456250665 wrapping com.mysql.cj.jdbc.ConnectionImpl@535b1ae6] will not be managed by Spring
==>  Preparing: UPDATE user SET username=? WHERE id=?
==> Parameters: 张三修改(String), 1674613593516095922(Long)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@d08edc5]
userMapper.update()
第一个参数是实体对象。第二个参数是我们需要进行的更新的查询到参数

@Test
    void  test6(){
        //下面是常见的几种删除的操作

        //根据wrapper查询条件进行删除
       // int i =userMapper.delete()

        //批量删除 传入的是一个id的集合对象
        //userMapper.deleteBatchIds()

        //传入的是user对象需要有id的属性
        //userMapper.deleteById()

        //根据的是传入的map的键值对找到指定的数据进行删除的和wrapper是相似的
        //userMapper.deleteByMap()

        //上面的返回值全是int类型的也就是删除的条数的数据

        List<Long> ids=new ArrayList<Long>();
        ids.add(1674613593516095922L);
        int line =userMapper.deleteBatchIds(ids);
        System.out.println("删除的条数="+line);

    }
    
   
删除的操作
JDBC Connection [HikariProxyConnection@1830984476 wrapping com.mysql.cj.jdbc.ConnectionImpl@6f825516] will not be managed by Spring
==>  Preparing: DELETE FROM user WHERE id IN ( ? )
==> Parameters: 1674613593516095922(Long)
<==    Updates: 1
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@5034f5dd]
删除的条数=1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/996292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

932. 漂亮数组

932. 漂亮数组 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 932. 漂亮数组 https://leetcode.cn/problems/beautiful-array/description/ 完成情况&#xff1a; 解题思路&#xff1a; nums 是由范围 [1, n] 的…

智慧公厕破解公共厕所管理的“孤岛现象”

在现代社会中&#xff0c;公共厕所是城市管理中的一项重要任务。然而&#xff0c;经常会出现公厕管理的“孤岛现象”&#xff0c;即每个公厕都是独立运作&#xff0c;缺乏统一的管理和监控机制。针对这一问题&#xff0c;智慧公厕的出现为解决公共厕所管理难题带来了新的方案。…

无涯教程-JavaScript - COUPNUM函数

描述 COUPNUM函数返回结算日和到期日之间应付的息票数量,四舍五入到最接近的整数。 语法 COUPNUM (settlement, maturity, frequency, [basis])争论 Argument描述Required/OptionalSettlement 证券的结算日期。 证券结算日期是指在发行日期之后将证券交易给买方的日期。 Re…

Co-SLAM——论文解析

Co-SLAM: Joint Coordinate and Sparse Parametric Encodings for Neural Real-Time SLAM 神经隐式表征slam&#xff08;implict neural representaton&#xff0c;INR&#xff09;使用一个连续函数来表征图像或者三维voxel&#xff0c;并用神经网络来逼近这个函数。Co-SLAM 也…

MyBatis-Plus-扩展操作(3)

3.扩展 代码生成 逻辑删除 枚举处理器 json处理器 配置加密 分页插件 3.1 代码生成 https://blog.csdn.net/weixin_41957626/article/details/132651552 下载下面的插件 红色的是刚刚生成的。 我觉得不如官方的那个好用&#xff0c;唯一的好处就是勾选的选项能够看的懂得。…

架构图怎么制作?分享5个实用方法!

面对复杂的系统、应用程序或项目&#xff0c;绘制架构图是一种关键的手段&#xff0c;帮助我们清晰地展示各个组件、关系和交互。本文将带你深入了解几种常见的制作架构图的方法&#xff0c;一起看下去吧。 1 手绘和扫描 对于简单的概念&#xff0c;你可以手绘架构图&#…

自考本科,毕业八年,2023浙大MPA提面优秀分享

去年十月中旬&#xff0c;我参加了浙江大学MPA提前批面试。结果出乎意料地&#xff0c;我竟然获得了A资格。对此&#xff0c;我自己也感到难以置信。事实上&#xff0c;我只是抱着试一试的心态递交了申请材料。因为通过我对前几年浙大自划线的情况来看&#xff0c;对于浙江大学…

OSPF协议:优点、初始化流程和管理

文章目录 一、RIP的缺陷二、定义三、OSPF初始化流程1. 建立邻居和邻接关系2. 邻接路由器之间交换链路状态信息&#xff0c;实现区域内链路状态数据库同步3. 每台路由器根据本机链路状态数据库&#xff0c;计算到达每个目的网段的最优路由&#xff0c;写入路由表 四、OSPF分区域…

自媒体MCN公司选择企业云盘:哪个更适合?

自媒体MCN公司用什么企业云盘好&#xff1f;Zoho WorkDive企业网盘助力内容创作与MCN公司进行文件储存与管理。 一、MCN公司业务背景 A公司是一家处于蓬勃发展的MCN(多频道网络)机构&#xff0c;其业务范围广泛且多元化。A公司为文化娱乐行业提供经纪人服务&#xff0c;帮助艺人…

软考备考-程序员-备考笔记

软考备考-程序员-备考笔记 持续更新中》》》》》 更新日志&#xff1a; 刷题软件&#xff1a; 希赛网&#xff1a;每日一练和往年真题是免费的 软考通&#xff1a;完全免费 软考真题&#xff1a;完全免费 51CTO题库:微信小程序&#xff0c;不用下载&#xff0c;顺手 试卷题…

Java集合大总结——Map集合

Map集合框架 1、Map集合框架1.1 关于Map接口中的主要实现类1.2 各实现类的特点&#xff1a; 2. HashMap 和 Hashtable 的区别3. HashMap 和 HashSet 区别4. HashMap 和 TreeMap 区别 1、Map集合框架 注意&#xff1a;Map接口是在java.util.Map 的包下&#xff0c;Map 接口不是…

深度学习面试八股文(2023.9.06)

一、优化器 1、SGD是什么&#xff1f; 批梯度下降&#xff08;Batch gradient descent&#xff09;&#xff1a;遍历全部数据集算一次损失函数&#xff0c;计算量开销大&#xff0c;计算速度慢&#xff0c;不支持在线学习。随机梯度下降&#xff08;Stochastic gradient desc…

知识库搭建最简单的方法:登录、创建、优化,就这三步!

实际应用中&#xff0c;企业所需要的知识库场景不止一个&#xff0c;更多是很多场景的复合模式&#xff0c;甚至还需要不同团队间的协作配合&#xff0c;这个时候就还需要去考虑不同部门/团队间的业务拉通。 搭建知识库 所以当我们搭建知识库的时候&#xff0c;不仅要掌握基础…

【每天一道算法题】day2-认识时间复杂度

认识时间复杂度&#xff1a; O&#xff1a;读作big O&#xff0c;在数学上指的是上限的意思 常数时间的操作 一个操作如果和样本的数据量没有关系&#xff0c;每次都是固定时间内完成的操作&#xff0c;叫做常数操作。时间复杂度为一个算法流程中&#xff0c;常数操作数量的一…

docker系列(1) - docker环境篇

文章目录 1. docker环境1.1 docker安装1.2 阿里云镜像加速器1.2 docker管理工具(portainer)1.3 docker网络1.3.1 网络说明1.3.2 创建指定网关的网络 1. docker环境 1.1 docker安装 #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noar…

windows10系统-14-VirtualBox中的设置

VirtualBox 常用设置说明 Ubuntu-server18.04.2LTS安装VirtualBox增强功能 VirtualBox官网 使用VirtualBox一步一步安装Ubuntu 22.04 ubuntu server官网安装教程 1 新建虚拟机 (1)点击新建&#xff0c;在新建虚拟电脑对话框填入虚拟电脑的名称&#xff0c;保存的位置。推荐保…

代码随想录第41天| 343.整数拆分,96.不同的二叉搜索树

343.整数拆分 这道题全程懵逼 343. 整数拆分 class Solution {public int integerBreak(int n) {//推论一&#xff1a; 若拆分的数量 a 确定&#xff0c; 则 各拆分数字相等时 &#xff0c;乘积最大。//推论二&#xff1a; 将数字 n尽可能以因子 3等分时&#xff0c;乘积最大…

ElementPlus·面包屑导航实现

面包屑导航 使用vue3中的UI框架elementPlus的 <el-breadcrumb> 实现面包屑导航 <template><!-- 面包屑 --><div class"bread-container" ><el-breadcrumb separator">"><el-breadcrumb-item :to"{ path:/ }&quo…

apt安装yum

配置apt国内镜像源 /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ trusty-…

19 螺旋矩阵

螺旋矩阵 题解1 循环&#xff08;4个标志——根据顺时针&#xff09;题解2 方向 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 提示&#xff1a; - m matrix.length - n matrix[i].length - 1 < m, n <…