🔥 支持跨过跳板机的 ssh 客户端 tssh 发布 v0.1.16
https://github.com/trzsz/trzsz-ssh tssh 发布 v0.1.16,支持自动交互,可用于“跨过”跳板机。
假设跳板机 J 后面有 A B C 三台服务器,一般是在本地配置跳板机 J ,登录 J 之后再手工选择 A B C 之一登录。
用 trzsz-ssh ( tssh ) 就可以在本地直接配置 A B C 三台服务器,省去在跳板机 J 上的人工操作。
以下是在 ~/.ssh/config 中配置 A B C 三台服务器的例子:
Host A HostName 172.21.0.2 # 跳板机 J 的 IP Port 2222 # 跳板机 J 的端口 User username # 跳板机 J 的用户名 # 以下是记住跳板机 J 的登录密码( 通过 tssh --enc-secret 得到 ),推荐使用公钥登录。 #!! encPassword f48160ae63d6eaa5a53983e5f9afe6a0c99f3e791d48714ba3405bed88ca4495 #!! ExpectCount 1 # 有些跳板机只要交互一次就能登录目标服务器,这里配置交互次数 #!! ExpectPattern1 Opt> # 跳板机的输入提示符 #!! ExpectSendText1 172.22.0.11\r # 有些跳板机可以直接输入目标服务器的 IP 登录,\r 代表回车 Host B # 前面的配置和 A 一样,可以直接复制下来( ~/.ssh/config 支持通配符,可以简化配置 ) #!! ExpectSendText1 172.22.0.12\r # 这里配置目标服务器 B 的 IP Host C # 前面的配置和 A 一样,可以直接复制下来 #!! ExpectSendText1 172.22.0.13\r # 这里配置目标服务器 C 的 IP
更详细的用法和说明,请参考下文:
tssh 简介
-
你喜欢的 ssh 终端是否有好用的服务器管理功能?是否支持记住密码?是否有好用的文件传输工具?
-
tssh 支持选择或搜索
~/.ssh/config
中配置的服务器,支持 vim 操作习惯,解决 ssh 终端的服务器管理问题。 -
tssh 支持一次选择多台服务器,批量登录,并支持批量执行预先指定的命令,方便快速完成批量服务器操作。
-
tssh 支持配置服务器登录密码,解决每次手工输入密码的麻烦( 自己能控制的服务器,推荐使用公钥登录 )。
-
tssh 内置支持 trzsz (trz /tsz) 文件传输工具,一并解决了 Windows 中使用
trzsz ssh
上传速度很慢的问题。 -
在作者的 MacOS 上,使用
trzsz ssh
的上传速度在 10 MB/s 左右,而使用tssh
可以到 80 MB/s 以上。
安装方法
客户端安装 trzsz-ssh ( tssh )
的方法如下( 任选其一 ):
-
Windows 可用 scoop / winget / choco 安装
scoop install tssh
/winget install tssh
/choco install tssh
scoop install tssh
winget install tssh
choco install tssh
-
MacOS 可用 homebrew 安装
brew install trzsz-ssh
brew update brew install trzsz-ssh
-
Ubuntu 可用 apt 安装
sudo apt install tssh
sudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install tssh
-
Debian 可用 apt 安装
sudo apt install tssh
sudo apt install curl gpg curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \ | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \ | sudo tee /etc/apt/sources.list.d/trzsz.list sudo apt update sudo apt install tssh
-
Linux 可用 yum 安装
sudo yum install tssh
-
国内推荐使用 wlnmp 源,安装 tssh 只需要添加 wlnmp 源( 配置 epel 源不是必须的 ):
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash sudo yum install tssh
-
也可使用 gemfury 源( 只要网络通,所有操作系统通用 )
echo '[trzsz] name=Trzsz Repo baseurl=https://yum.fury.io/trzsz/ enabled=1 gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo sudo yum install tssh
-
-
ArchLinux 可用 yay 安装
yay -S tssh
yay -Syu yay -S tssh
-
用 Go 直接安装( 要求 go 1.20 以上 )
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
go install github.com/trzsz/trzsz-ssh/cmd/tssh@latest
安装后,
tssh
程序一般位于~/go/bin/
目录下( Windows 一般在C:\Users\your_name\go\bin\
)。 -
可从 Releases 中直接下载适用的版本
或者用 Go 编译( 要求 go 1.20 以上 )
git clone https://github.com/trzsz/trzsz-ssh.git cd trzsz-ssh make sudo make install
服务器上要安装 trzsz 才能使用 trz / tsz
上传和下载,可任选其一安装: Go 版( ⭐ 推荐 )、Py 版、Js 版。
如果服务器不安装 trzsz,也能用 tssh
,只是不使用 trz / tsz
上传和下载而已。
使用方法
~/
代表 HOME 目录。在 Windows 中,请将下文的 ~/
替换成 C:\Users\your_name\
。
-
在客户端生成密钥对,一般存放在
~/.ssh/
下( 只要一种就可以了 ):ssh-keygen -t ed25519
生成 ED25519 的,私钥~/.ssh/id_ed25519
,公钥~/.ssh/id_ed25519.pub
。ssh-keygen -t rsa -b 4096
生成 RSA 的,私钥~/.ssh/id_rsa
,公钥~/.ssh/id_rsa.pub
。
-
登录服务器,将公钥( 即前面生成密钥对时
.pub
后缀的文件内容 )追加写入服务器上的~/.ssh/authorized_keys
文件中。-
一行代表一个客户端的公钥,注意
~/.ssh/authorized_keys
要设置正确的权限:chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
-
-
在客户端配置好
~/.ssh/config
文件,举例:Host alias1 HostName 192.168.0.1 Port 22 User your_name Host alias2 HostName 192.168.0.2 Port 22 User your_name
-
使用
tssh
命令登录服务器,tssh alias1
命令登录在~/.ssh/config
中alias1
对应的服务器。 -
直接执行
tssh
命令( 不带参数 ),可以选择( 搜索 )~/.ssh/config
中配置好的服务器并登录。
批量登录
-
支持在
iTerm2
( 要开启 Python API,但不需要Allow all apps to connect
),tmux
和Windows Terminal
中一次选择多台服务器,批量登录,并支持批量执行预先指定的命令。 -
按下
Space
、Ctrl+X
等可以选中或取消当前服务器,若不能选中说明还不支持当前终端,请先运行tmux
。 -
按下
Ctrl+P
会以分屏的方式批量登录,Ctrl+W
会打开新窗口批量登录,Ctrl+T
会打开新 tab 批量登录。 -
tssh
不带参数启动可以批量登录服务器,若带-o RemoteCommand
参数启动则可以批量执行指定的命令。支持执行指定命令之后进入交互式 shell,但Windows Terminal
不支持分号;
,可以用|cat&&
代替。举例:tssh -t -o RemoteCommand='ping -c3 trzsz.github.io ; bash' tssh -t -o RemoteCommand="ping -c3 trzsz.github.io |cat&& bash"
分组标签
-
如果服务器数量很多,分组标签
GroupLabels
可以在按/
搜索时,快速找到目标服务器。 -
按
/
输入分组标签后,回车
可以锁定;再按/
可以输入另一个分组标签,回车
再次锁定。 -
在非搜索模式下,按
E
可以清空当前搜索标签;在搜索模式下按Ctrl + E
也是同样效果。 -
支持在一个
GroupLabels
中以空格分隔,配置多个分组标签;支持配置多个GroupLabels
。 -
支持以通配符 * 的形式,在多个 Host 节点配置分组标签,
tssh
会将所有的标签汇总起来。# 以下 testAA 具有标签 group1 group2 label3 label4 group5,可以加上 `#!!` 前缀,以兼容标准 ssh Host test* #!! GroupLabels group1 group2 #!! GroupLabels label3 Host testAA #!! GroupLabels label4 group5
自动交互
-
支持类似
expect
的自动交互功能,可以在登录服务器之后,自动匹配服务器的输出,然后自动输入。Host auto #!! ExpectCount 3 # 配置自动交互的次数,默认是 0 即无自动交互 #!! ExpectTimeout 30 # 配置自动交互的超时时间(单位:秒),默认是 30 秒 #!! ExpectPattern1 *assword # 配置第一个自动交互的匹配表达式 # 配置第一个自动输入(密文),填 tssh --enc-secret 编码后的字符串,会自动发送 \r 回车 #!! ExpectSendPass1 d7983b4a8ac204bd073ed04741913befd4fbf813ad405d7404cb7d779536f8b87e71106d7780b2 #!! ExpectPattern2 hostname*$ # 配置第二个自动交互的匹配表达式 #!! ExpectSendText2 echo tssh expect\r # 配置第二个自动输入(明文),需要指定 \r 才会发送回车 # 以上 ExpectSendPass? 和 ExpectSendText? 只要二选一即可,若都配置则 ExpectSendPass? 的优先级更高 # -------------------------------------------------- # 在每个 ExpectPattern 匹配之前,可以配置一个或多个可选的匹配,用法如下: #!! ExpectPattern3 hostname*$ # 配置第三个自动交互的匹配表达式 #!! ExpectSendText3 ssh xxx\r # 配置第三个自动输入,也可以换成 ExpectSendPass3 然后配置密文 #!! ExpectCaseSendText3 yes/no y\r # 在 ExpectPattern3 匹配之前,若遇到 yes/no 则发送 y 并回车 #!! ExpectCaseSendText3 y/n yes\r # 在 ExpectPattern3 匹配之前,若遇到 y/n 则发送 yes 并回车 #!! ExpectCaseSendPass3 token d7... # 在 ExpectPattern3 匹配之前,若遇到 token 则解码并发送 d7...
- 使用
tssh --debug
登录,可以看到expect
捕获到的输出,以及其匹配结果和自动输入的交互。
- 使用
记住密码
-
为了兼容标准 ssh ,密码可以单独配置在
~/.ssh/password
中,也可以在~/.ssh/config
中加上#!!
前缀。 -
推荐使用前面公钥认证的方式,密码的安全性弱一些。如果必须要用密码,建议至少设置好权限,如:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/password ~/.ssh/config
-
下面配置
test1
和test2
的密码是123456
,其他以test
开头的密码是111111
:# 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh Host test1 # 下面是运行 tssh --enc-secret 输入密码 123456 得到的密文串,每次运行结果不同。 #!! encPassword 756b17766f45bdc44c37f811db9990b0880318d5f00f6531b15e068ef1fde2666550 # 如果配置在 ~/.ssh/password 中,则不需要考虑是否兼容标准 ssh Host test2 # 下面是运行 tssh --enc-secret 输入密码 123456 得到的密文串,每次运行结果不同。 encPassword 051a2f0fdc7d0d40794b845967df4c2d05b5eb0f25339021dc4e02a9d7620070654b # ~/.ssh/config 和 ~/.ssh/password 是支持通配符的,tssh 会使用第一个匹配到的值。 # 这里希望 test2 使用区别于其他 test* 的密码,所以将 test* 放在了 test2 的后面。 Host test* Password 111111 # 支持明文密码,但是推荐使用 tssh --enc-secret 简单加密一下。
-
如果启用了
ControlMaster
多路复用,或者是在Warp
终端,需要使用前面自动交互
的方式实现记住密码的效果。配置方式请参考前面自动交互
,加上Ctrl
前缀即可,如:Host ctrl #!! CtrlExpectCount 1 # 配置自动交互的次数,一般只要输入一次密码 #!! CtrlExpectPattern1 *assword # 配置密码提示语的匹配表达式 #!! CtrlExpectSendPass1 d7983b... # 配置 tssh --enc-secret 编码后的密码
-
支持记住私钥的
Passphrase
( 推荐使用ssh-agent
)。支持与IdentityFile
一起配置,支持使用私钥文件名代替 Host 别名设置通用密钥的Passphrase
。举例:# IdentityFile 和 Passphrase 一起配置,可以加上 `#!!` 前缀,以兼容标准 ssh Host test1 IdentityFile /path/to/id_rsa # 下面是运行 tssh --enc-secret 输入密码 123456 得到的密文串,每次运行结果不同。 #!! encPassphrase 6f419911555b0cdc84549ae791ef69f654118d734bb4351de7e83163726ef46d176a # 在 ~/.ssh/config 中配置通用私钥 ~/.ssh/id_ed25519 对应的 Passphrase # 可以加上通配符 * 以避免 tssh 搜索和选择时,文件名出现在服务器列表中。 Host id_ed25519* # 下面是运行 tssh --enc-secret 输入密码 111111 得到的密文串,每次运行结果不同。 #!! encPassphrase 3a929328f2ab1be0ba3fccf29e8125f8e2dac6dab73c946605cf0bb8060b05f02a68 # 在 ~/.ssh/password 中配置则不需要通配符*,也不会出现在服务器列表中。 Host id_rsa Passphrase 111111 # 支持明文密码,但是推荐使用 tssh --enc-secret 简单加密一下。
记住答案
-
除了私钥和密码,还有一种登录方式,英文叫 keyboard interactive ,是服务器返回一些问题,客户端提供正确的答案就能登录,很多自定义的一次性密码就是利用这种方式实现的。
-
如果答案是固定不变的,
tssh
支持 “记住答案”。大部分都是只有一个问题,只要配置QuestionAnswer1
即可。对于有多个问题的,每个问题答案可按序号进行配置,也可以按问题的 hex 编码进行配置。 -
使用
tssh --debug
登录,会输出问题的 hex 编码,从而知道该如何使用 hex 编码进行配置。配置举例:# 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh Host test1 # 下面是运行 tssh --enc-secret 输入答案 `答案一` 得到的密文串,每次运行结果不同。 encQuestionAnswer1 482de7690ccc5229299ccadd8de1cb7c6d842665f0dc92ff947a302f644817baecbab38601 Host test2 # 下面是运行 tssh --enc-secret 输入答案 `答案一` 得到的密文串,每次运行结果不同。 encQuestionAnswer1 43e86f1140cf6d8c786248aad95a26f30633f1eab671676b0860ecb5b1a64fb3ec5212dddf QuestionAnswer2 答案二 # 支持明文答案,但是推荐使用 tssh --enc-secret 简单加密一下。 QuestionAnswer3 答案三 Host test3 # 其中 `6e616d653a20` 是问题 `name: ` 的 hex 编码,`enc` 前缀代表配置的是密文串。 # 下面是运行 tssh --enc-secret 输入答案 `my_name` 得到的密文串,每次运行结果不同。 enc6e616d653a20 775f2523ab747384e1661aba7779011cb754b73f2e947672c7fd109607b801d70902d1 636f64653a20 my_code # 其中 `636f64653a20` 是问题 `code: ` 的 hex 编码, `my_code` 是明文答案
-
如果启用了
ControlMaster
多路复用,或者是在Warp
终端,请参考前面自动交互
加Ctrl
前缀来实现。
可选配置
-
支持在
~/.tssh.conf
( Windows 是C:\Users\your_name\.tssh.conf
)中进行以下自定义配置:# SSH 配置路径,默认为 ~/.ssh/config ConfigPath = ~/.ssh/config # 扩展配置路径,默认为 ~/.ssh/password ExConfigPath = ~/.ssh/password # trz 上传时,对话框打开的路径,为空时打开上次的路径, 默认为空 DefaultUploadPath = ~/Downloads # tsz 下载时,自动保存的路径,为空时弹出对话框手工选择,默认为空 DefaultDownloadPath = ~/Downloads # tssh 搜索和选择服务器时,每页显示的记录数,默认为 10 PromptPageSize = 10 # tssh 搜索和选择服务器时,默认是类似 vim 的 normal 模式,想默认进入搜索模式可如下配置: PromptDefaultMode = search # tssh 搜索和选择服务器时,详情中显示的配置列表,默认如下: PromptDetailItems = Alias Host Port User GroupLabels IdentityFile ProxyCommand ProxyJump RemoteCommand # 登录后自动设置终端标题,退出后不会重置,你需要参考下文在本地 shell 中设置 PROMPT_COMMAND SetTerminalTitle = Yes
其他功能
-
使用
-f
后台运行时,可以加上--reconnect
参数,在后台进程因连接断开等而退出时,会自动重新连接。 -
使用
--dragfile
启用拖拽上传功能,想默认启用则可以在~/.ssh/config
或ExConfigPath
中配置:Host * # 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh EnableDragFile Yes
-
使用
--zmodem
启用rz / sz
功能,想默认启用则可以在~/.ssh/config
或ExConfigPath
中配置:Host server0 # 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh EnableZmodem Yes
-
需要在客户端( 本地电脑 )上安装
lrzsz
,Windows 可以从 lrzsz-win32 下载解压并加到PATH
中,也可以如下安装:scoop install https://trzsz.github.io/lrzsz.json choco install lrzsz --version=0.12.21
-
关于
rz / sz
进度条,己传大小和传输速度会有一点偏差,它的主要作用只是指示传输正在进行中。
-
-
使用
-oEnableTrzsz=No
禁用 trzsz 功能,想默认禁用则可以在~/.ssh/config
或ExConfigPath
中配置:Host server1 # 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh EnableTrzsz No
-
上文说的 “记住密码” 和 “记住答案”,只要在配置项前面加上
enc
则可以配置密文,防止被人窥屏。并且,密文可以解决密码含有#
的问题。- 运行
tssh --enc-secret
,输入密码或答案,可得到用于配置的密文( 相同密码每次运行结果不同 ):
Host server2 # 如果配置在 ~/.ssh/config 中,可以加上 `#!!` 前缀,以兼容标准 ssh encPassword de88c4dbdc95d85303682734e2397c4d8dd29bfff09ec53580f31dd40291fc8c7755 encQuestionAnswer1 93956f6e7e9f2aef3af7d6a61f7046dddf14aa4bbd9845dbb836fe3782b62ac0d89f
- 运行
-
运行
tssh --new-host
可以在 TUI 界面轻松添加 SSH 配置,并且完成后可以立即登录。 -
运行
tssh --install-trzsz
可以将 trzsz (trz
/tsz
) 安装到服务器上。- 默认安装到
~/.local/bin/
目录,可以通过--install-path /path/to/install
指定安装目录。 - 若
--install-path
安装目录含有~/
,则必须加上单引号,如--install-path '~/path'
。 - 若获取
trzsz
的最新版本号失败,可以通过--trzsz-version x.x.x
参数自行指定。 - 若下载
trzsz
的安装包失败,可以自行下载并通过--trzsz-bin-path /path/to/trzsz.tar.gz
参数指定。 - 注意:
--install-trzsz
不支持 Windows 服务器,不支持跳板机( 除非以ProxyJump
跳过 )。
- 默认安装到
-
关于修改终端标题,其实无需
tssh
就能实现,只要在服务器的 shell 配置文件中(如~/.bashrc
)配置:# 设置固定的服务器标题 PROMPT_COMMAND='echo -ne "\033]0;固定的服务器标题\007"' # 根据环境变量动态变化的标题 PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
- 如果在
~/.tssh.conf
中设置了SetTerminalTitle = Yes
,则会在登录后自动设置终端标题,但是服务器上的PROMPT_COMMAND
会覆盖tssh
设置的标题。 - 在
tssh
退出后不会重置为原来的标题,你需要在本地 shell 中设置PROMPT_COMMAND
,让它覆盖tssh
设置的标题。
- 如果在
快捷键
操作 | 全局快捷键 | 非搜索快捷键 | 快捷键描述 |
---|---|---|---|
Confirm | Enter | 确认并登录 | |
Quit/Exit | Ctrl+C Ctrl+Q | q Q | 取消并退出 |
Move Prev | Ctrl+K Shift+Tab ↑ | k K | 往上移光标 |
Move Next | Ctrl+J Tab ↓ | j J | 往下移光标 |
Page Up | Ctrl+H Ctrl+U Ctrl+B PageUp ← | h H u U b B | 往上翻一页 |
Page Down | Ctrl+L Ctrl+D Ctrl+F PageDown → | l L d D f F | 往下翻一页 |
Goto Home | Home | g | 跳到第一行 |
Goto End | End | G | 跳到最尾行 |
EraseKeys | Ctrl+E | e E | 擦除搜索关键字 |
TglSearch | / | 切换搜索功能 | |
Tgl Help | ? | 切换帮助信息 | |
TglSelect | Ctrl+X Ctrl+Space Alt+Space | Space x X | 切换选中状态 |
SelectAll | Ctrl+A | a A | 全选当前页 |
SelectOpp | Ctrl+O | o O | 反选当前页 |
Open Wins | Ctrl+W | w W | 新窗口批量登录 |
Open Tabs | Ctrl+T | t T | 新 Tab 批量登录 |
Open Pane | Ctrl+P | p P | 分屏批量登录 |
故障排除
-
在 Warp 终端,分块 Blocks 的功能需要将
tssh
重命名为ssh
,推荐建个软链接( 对更新友好 ):sudo ln -sv $(which tssh) /usr/local/bin/ssh
-
软链后,
ssh -V
应输出trzsz ssh
加版本号,如果不是,说明软链不成功,或者在PATH
中openssh
的优先级更高,你要软链到另一个地方或者调整PATH
的优先级。 -
软链后,要直接使用
ssh
,它等价于tssh
。如果还是用tssh
是不会支持分块 Blocks 功能的。 -
--dragfile
参数可能会让 Warp 分块功能失效,请参考前文配置EnableDragFile
来启用拖拽功能。 -
拖拽文件或目录进入 Warp 终端后,可能不会立即触发上传,需要多按一次
回车
键,才会上传。
-
-
如果你在使用 Windows7 或者旧版本的 Windows10 等,遇到
enable virtual terminal failed
的错误。 -
如果在
~/.ssh/config
中配置了tssh
特有的配置项后,标准ssh
报错Bad configuration option
。- 可以在出错配置项中加上前缀
#!!
,标准ssh
会将它当作注释,而tssh
则会认为它是有效配置之一。
- 可以在出错配置项中加上前缀
录屏演示
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
可替代 Spring,国产 Solon v2.6.3 发布
Solon 是什么框架? Java 新的"生态级"应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时六年,具备全球第二级别的生态规模)。 相对于 Spring,有什么特点? 启动快 5 ~ 10 倍。(更快) qps 高 2~ 3 倍。(更高) 低流量内存节省 1/3 ~ 1/2。(更少) 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。(更小) 同时支持 jdk8, jdk11, jdk17, jdk21,graalvm native image 入门探索视频(用户录制): 最近更新了什么? 发布 Solon FaaS 修复 solon.luffy 插件 JtFunctionLoaderClasspath 可能会出现 null 异常的问题 修复 solon.luffy 插件 XFun.callFile 的执行兼容性(添加 file_id 赋值) 修复 Solon.cfg().stopSafe() 自动配置失效的问题 修复 war 部署时 contextPath 自动识别失效的问题 调整 contextPath 配置,支持 '!' 开头(表示强制模...
- 下一篇
🔥圣诞礼物 MybatisPlus 发布 3.5.5 版本发布
Mybatis-Plus 是一款 MyBatis 的增强工具包,简化 CRUD 操作。启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入动态 SQL 脚本、性能更优,让你专注业务快速敏捷开发。 演示例子:https://gitee.com/baomidou/mybatis-plus-samples 官方文档:https://baomidou.com/ 🔥圣诞礼物🔥 新增支持 Trino,Presto,GBase8s-pg,SUNDB 数据库 升级日志 fix: 修复配置databaseId失效 fix: 修复自增主键忽略注入错误忽略非自增主键注入问题 fix: 修复ChainWrapper模式下GroupBy生成多的逗 fix: 修复selectOne缓存问题 fix: 修复数据权限多表支持在某些场景下失效问题 fix: 修复生成器mysql类型转换器point转换错误 fix: 修复kotlin下无法使用父类属性操作 fix: 修复自动注入DdlApplicationRunner返回null导致的高版本spring...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能