一,分页查询(PageHelper分页插件的使用及原理)
使用:
首先基于Maven在pom.xml文件功集成了PageHelper分页插件:
以tlias案例在服务层启动分页
1 | 在EmpServiceImpl.java中 |
原理:
PageHelper拦截并改写SQL
这是PageHelper最核心的部分。虽然在代码中看不到,但PageHelper通过MyBatis拦截器机制工作:
PageHelper实现了MyBatis的Interceptor接口
当MyBatis准备执行SQL时,PageHelper拦截器会捕获这次执行
拦截器从ThreadLocal中获取之前设置的分页参数
根据分页参数和数据库类型(项目中是MySQL),动态改写原始SQL。
二,条件分页查询及优化
1.当controller 层接受前端请求参数时,
如果参数少,controller方法中可定义形参接受,
如果参数较多,可以在controller方法中定义一个对象接收
2.条件查询优化,使用动态sql解决前端不同条件之间相互匹配。
mybatis 动态SQL使用场景:随着用户输入或外部条件变化而变化
mybatis中使用
三,ssh密钥
SSH 密钥主要用于免密码登录远程服务器或免密码操作代码仓库(如 GitHub),核心逻辑是 “公钥给服务端,私钥自己留”,以下以连接 GitHub和登录远程服务器为例说明:
场景 1:为 GitHub 生成并配置专属 SSH 密钥
步骤 1:生成 SSH 密钥对
打开终端(Windows 用 Git Bash,Linux/macOS 用系统终端),执行命令:
1 | ssh-keygen -t rsa -b 4096 -C "你的邮箱地址" -f ~/.ssh/id_rsa_github |
-t rsa:指定密钥类型为 RSA;
-b 4096:密钥长度 4096 位(更安全);
-C “你的邮箱地址”:添加注释(通常填 GitHub 绑定的邮箱,方便识别);
-f /.ssh/id_rsa_github:指定密钥文件名为 id_rsa_github(自定义命名,区分其他密钥)。/.ssh 目录下会生成 id_rsa_github(私钥)和 id_rsa_github.pub(公钥)。
执行后会提示 “是否设置密码”(可直接回车跳过,即无密码;若设置,每次用密钥时需输入密码,更安全)。执行完毕后,
步骤 2:将公钥添加到 GitHub
查看并复制公钥内容:
1 | cat ~/.ssh/id_rsa_github.pub |
复制终端输出的全部内容。
登录 GitHub,按以下路径操作:
头像 → Settings → SSH and GPG keys → New SSH key → 粘贴公钥 → 填写别名(如 “GitHub 密钥 - 笔记本”)→ 点击 Add SSH key。
步骤 3:测试 SSH 连接
执行命令测试认证:
1 | ssh -T git@github.com |
若返回 Hi [你的GitHub用户名]! You’ve successfully authenticated…,说明配置成功。
场景 2:为远程服务器生成 SSH 密钥并免密码登录
步骤 1:生成 SSH 密钥对(若已有可跳过)
执行命令生成默认密钥对(文件名 id_rsa/id_rsa.pub):
1 | ssh-keygen -t rsa -b 4096 -C "你的备注信息" |
回车确认路径(默认 ~/.ssh),按需设置密码(或直接回车跳过)。
步骤 2:将公钥上传到远程服务器
假设服务器 IP 为 192.168.1.100,用户名 user,执行命令:
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub user@192.168.1.100 |
user@192.168.1.100:服务器的 “用户名 @IP”。
执行后输入服务器密码,公钥会被自动添加到服务器的 ~/.ssh/authorized_keys 文件中。
步骤 3:免密码登录服务器
直接执行以下命令即可免密码登录:
1 | ssh user@192.168.1.100 |
进阶:用 config 文件统一管理多密钥(可选)
1 | 编辑 ~/.ssh/config 文件(若没有则创建),添加以下内容可简化命令: |
配置后,操作 GitHub 时可直接用 git clone git@github.com:xxx/xxx.git(自动匹配 id_rsa_github);登录服务器可直接执行 ssh server1,无需记忆 IP 和用户名。
通过以上命令步骤,你可以完成从 “密钥生成” 到 “服务端配置” 再到 “免密使用” 的全流程操作
评论区
欢迎你留下宝贵的意见,昵称输入QQ号会显示QQ头像哦~