gorm 模拟试卷
高级查询技术专题测试
- 子查询与嵌套查询
- 原生 SQL 查询(Raw/Scan)
- 分组查询与聚合函数
- 复杂条件与表达式
试卷习题(19 题)
参考答案在文末判断题
1
判断题
如果 BeforeCreate 钩子返回 error,GORM 会取消创建操作并返回该错误。
2
判断题
db.Exec 适合执行 INSERT/UPDATE/DELETE 等修改操作,返回结果包含 RowsAffected。
3
判断题
事务隔离级别越高(如 Serializable),数据库的并发性能就越低。
4
判断题
在嵌套事务中,如果内层事务返回 error 回滚到 SavePoint,外层事务仍然可以 Commit。
5
判断题
GORM 的链式查询是延迟执行的,只有在调用 Find/First/Take 等方法时才真正发送 SQL。
单选题
6
单选题
如何按部门统计用户数量?
7
单选题
GORM 是否支持跨多个数据库连接的事务?
8
单选题
GORM 中如何在创建记录前自动设置 UUID?
9
单选题
BeforeUpdate 和 BeforeSave 的主要区别是什么?
10
单选题
如何执行原生 SQL 查询并扫描到结构体?
11
单选题
db.Model(&User{}).Select("id, name").Where("age > ?", 18).Order("name").Limit(10) 的 SQL 等价语句是?
12
单选题
实现第 3 页、每页 10 条的分页查询,应该使用什么参数?
多选题
13
多选题
在 BeforeUpdate 钩子中,如何获取被更新的字段?
14
多选题
以下哪些是 Having 方法的正确使用方式?
15
多选题
在 Web 应用中,如何将事务与中间件结合实现每个请求一个事务?
16
多选题
如何在分页查询时获取总记录数?
17
多选题
以下哪些是 GORM 创建操作相关的钩子?
填空题
18
填空题
分页查询中,Offset 的计算公式为 ,其中 page 从开始。
19
填空题
事务执行失败时,GORM 会返回错误。正确处理方式是检查 并决定是否需要或返回给调用者。
参考答案
1.正确
2.正确
3.正确
4.正确
5.正确
6.B
7.B
8.A
9.A
10.D
11.A
12.A
13.A;B
14.A;B;C
15.A;B;C
16.A;D
17.A;B;C;D
18.(page-1)*pageSize;1
19.err;重试
