gorm的first和find
gorm的find和first
查询 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.
firstfirst用于从数据库中检索单个对象
12345678910// 获取第一条记录(主键升序)db.First(&user)// SELECT * FROM users ORDER BY id LIMIT 1;result := db.First(&user)result.RowsAffected // 返回找到的记录数result.Error // returns error or nil// 检查 ErrRecordNotFound 错误errors.Is(result.Error, gorm.ErrRecordNotFound)
当查询数据库时它添加了 LIMIT 1 条件,且没有找到记录时,它会返回 ErrRecordNotFound 错误,因此一般业务中我们可以通过ErrRecordNotFound == nil来判断表中是否存在某条记录。 ...
ubuntu22安装mysql8并远程访问
最近重新给一台虚拟机配置环境,发现好久没碰mysql,连安装、远程连接都出问题,故有此文
Ubuntu22.04
mysql8.0.33
f**k ya mysql8安装
apt yes!!!
本来尝试去官网寻找文档,但发现并不友好,遂直接梭哈apt
123456//更新apt缓存sudo apt update//安装sudo apt install mysql-server//查询版本验证是否安装成功mysql --version
配置密码
默认会有一个没有密码只能本地root访问的账户,即直接sudo mysql就可进入mysql界面,这意味着您无法通过提供密码来以root用户连接到MySQL服务器。但这并不符合直觉,尤其是当你需要远程访问root的时候。
对此有两个方法:
第一个是将身份验证方法从auth_socket更改为mysql_native_password。您可以通过运行ALTER USER SQL语句命令来做到这一点。
12ALTER USER 'root'@'localhost' IDEN ...
go语法基础
GOLANG sucks程序入口go项目的启动入口严格为main包下的main方法
导出名
理解为java的public和private权限修饰符
在 Go 中,如果一个名字以大写字母开头,那么它就是已导出的。例如,Pizza 就是个已导出名,Pi 也同样,它导出自 math 包。
pizza 和 pi 并未以大写字母开头,所以它们是未导出的。
在导入一个包时,你只能引用其中已导出的名字。任何“未导出”的名字在该包外均无法访问。
如hello.go的SayHello函数,当它被命名为sayHello时无法被包外调用
函数
传参格式为值在前,类型在后; 连续相同类型可以省略类型声明
func test(x int, y int) (int, int){} 等价于 func test(x, y int) (int, int){}
可以定义返回值,同样当连续相同类型可以省略类型声明
func test(x int, y int) (m int, n int){} 等价于 func test(x int, y int) (m, n int){}
当定义返回值时,没 ...
FiscoBcos区块链跨机扩容新节点
FiscoBcos区块链跨机扩容新节点背景:我在我的机器上已经搭建了一条单机组4节点的链,现在想要在我teammate的机器上扩容两个节点以期增强这条区块链的健壮性。查看FiscoBcos官方文档提供了扩容一个新节点的方法,但是只是在当前机器上扩容。详细查看文档并经过实践,发现只要修改新增节点的配置文件,然后将该新增节点文件发送给另一台机器运行即可。以下是跨机扩容的具体方法:跨机扩容的具体方法我的机器上已有node0、1、2、3,现要新增node4于另一台机器
1. 下载为新增节点生成证书的脚本
每个节点都需要有一套证书来与链上的其他节点建立连接,扩容一个新节点,首先需要为其签发证书。curl -#LO https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master-2.0/tools/gen_node_cert.shcurl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master-2.0/tools/gen_node_cert.sh(备用链接)
运行脚本bash ge ...