Mybatis分页功能
分页插件添加依赖12345<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.2.0</version></dependency>
配置插件123<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin></plugins>
分页插件的使用几种须知的条件
limit index, pageSize
index : 当前页的起始索引
pageSize : 每页显示的数据条数
pageNum : 当前页的页码
count :总记录数
totalPage :总页数 totalPage = count / pageSiz ...
Github上传本地项目
1. 首先你需要一个github账号,所以还没有的话先去注册吧!https://github.com/
我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装)直接安装即可:
https://git-for-windows.github.io/
2. 登陆后,进入Github首页,点击New repository新建一个项目
3. 填写相应信息后点击create repository即可Repository name: 仓库名称(输入名字,最好不要使用中文)
Description(可选): 仓库描述介绍
Public, Private : 仓库权限(公开共享,私有或指定合作者)
Initialize this repository with a README: 添加一个README.md
gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore
license: 证书类型,对应生成文件LICENSE
4. 创建成功以后,界面如下,copy这个地址备用。
5. 接下来就到本地操作了,首先右键你的项目,如果你之前安装git成功的话,右键 ...
SpringBoot整合数据库
SpringBoot整合数据库
必须导入的依赖:
123456<!--mysql驱动--><dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.32</version></dependency>
如果用mybatis的话就用
12345<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.2</version></dependency>
如果是自己实现的话就用jdbc的依赖
配置数据库的信息1234spring.data ...
SpringBoot项目复盘
SpringBoot项目复盘项目起始
确定数据库中的表、主键、各个字段及其代表的含义;确立好表与表之间的关联关系; (规范好字段的命名规则)**
按照数据库中表及其字段创建实体类及其属性;规范好命名规则
前端确定好页面长什么样,数据以什么格式交互
导入需要的各种依赖,以及做好自定义配置
准备好自己的后台模板,开始实现功能
实现各个功能登录实现
在form表单中实现对账号、密码的输入。通过th:action="@{/user/login}"将表单数据提交至controller层中
在controller层通过匹配方法上的请求映射为@RequestMapping("/user/login")的方法。
在该方法中实现好对password的判断、是否username为空、username输入有误如何提示、数据如何回显至index页面….
12345678910111213141516@RequestMapping("/user/login")public String login(Model model, ...
Linux任务调度与磁盘分区
任务调度
12345//基本用法crontab -e //编辑cortab的定时任务crontab -l // 查询crotab 任务crontab -r //删除档期那用户的所有crotab任务
123456//快速入门的代码演示rcontab -e//输入完成就会进入编辑页,然后输入*/1 * * * * ls -l /etc/ >/tmp/to.txt//这句话的意思就是每分钟执行一次 【 ls -l /etc/ > tmp/to.txt 】意思就是重定向到tmp下的to.txt
特殊符号的说明
流程
先写脚本
赋权限
设置调度
1234567891011121314151617//相关指令crontab -r //终止任务调度crontab -l //列出当前有那些任务调度service crond restart //重启任务调度 案例一 : */1 * * * *date >> /tmp/mydate案例二:cal >> /home/mycal打开该文件 : cat mycal案例三: ./my.sh ...
二叉树题目合集
求二叉树是否相同?用递归法 ,传入左右两棵树的根节点 ,然后比较 left.left == right.left; 以及 left.right ==right.right;
这是递归里面的内容
递归结束的条件:
1234567891011121314151617181920class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if( p == null && q == null){ return true ; // 这样的情况下就可以返回true了 }else if ( p != null && q == null){ return false; }else if( p == null && q != null ){ return fals ...
构建二叉树
从中序与后序构建二叉树给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。
示例 1:
输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例 2:
输入:inorder = [-1], postorder = [-1]输出:[-1]
思路
判断数组是否为空 !
不为空则向下继续,为空返回null
去后序数组中的最后一个元素为树的头节点的val值,(原因由后序遍历可知)
切割中序数组 ,以头节点的val值为区分(作为切割点) ,切割成中序左数组 和 中序右数组
切割后序数组, 切成后序左数组 和后序右数组
递归处理左右区间
思维图
代码实现(复杂易懂)1234567891011121314151617181920212223242526272829303132class Solution { pu ...
springBoot静态资源配置及其原理
SpringMVC自动配置官网给出 :大多场景我们都无需自定义配置
给出了很多的默认的Spring资源 : Beans 、 静态资源 、 自动注册等等
如果我们想要自己配置来添加更多的:
不用@EnableWebMvc注解。使用 @Configuration + WebMvcConfigurer 自定义规则
简单功能分析
静态资源默认在: ****called /static (or /public or /resources or /META-INF/resources
访问 : 当前项目根路径/ + 静态资源名
原理:静态映射 /**
请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面
静态资源添加前缀
在配置文件application.yaml添加前缀
123456789101112spring: mvc: static-path-pattern: /res/** # 上面的作用就是 res下面的所有请求都是静态请求 # 然后,我们当前项目访问静态资源就是 : 当 ...
RESTful请求映射及其原理
请求映射rest的使用与原理
@xxxMapping;
Rest风格支持(使用 HTTP 请求方式动词来表示对资源的操作)
以前: /getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户
现在: /user GET-获取用户 DELETE-删除用户 PUT-修改用户 POST-保存用户
核心Filter;HiddenHttpMethodFilter
用法: 表单method=post,隐藏域 _method=put
SpringBoot中手动开启
扩展:如何把_method 这个名字换成我们自己喜欢的。
基于表单提交的RESTful原理
表单提交会带上[_method = put]
请求过来会被HiddenHttpMethodFilter拦截
处理请求(如果请求正常,才会放行)
然后内部进行处理,判断是否有请求。然后将请求转换为大写
(包装原生request)将原生的request转换成为HttpM ...
二叉树的最大深度
题目给定一个二叉树,找出其最大深度
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数
使用前序(中左右),也可以使用后序遍历(左右中),使用前序求的就是深度,使用后序求的是高度。
对于二叉树最大深度和最大高度的理解
二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)
二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取决于高度从0开始还是从1开始)
而根节点的高度就是二叉树的最大深度,所以本题中我们通过后序求的根节点高度来求的二叉树最大深度。
递归法: (三部曲)
递归法传参是重点
12 //传入的是根节点 ,得到的结果为树的最大深度int getDepth(Node root);
递归的终止条件就是判断是否为叶子节点(也就是说如果下一个节点为空的话就返回 0 )
123if(node == null){ return 0;}
确定单层递归的逻辑
思路确定单层递归的逻辑:先求它的左子树的深度,再求右子树的深度,最后取左右深度最大的数值 再+1 (加1是因为算上当 ...