📄️ ORM高级特性-RawSQL
由于 ORM 的安全性保障,所有输入的参数在底层都将使用预处理模式执行,防止常见的 SQL 注入风险。在某一些场景中,我们期望在生成执行的SQL语句中嵌入自定义的SQL语句,那么我们可以使用 ORM 的 RawSQL 特性,通过 gdb.Raw 类型来实现。我们来看几个示例。
📄️ ORM高级特性-SQL捕获
需要注意,框架SQL捕获的原理是,任何SQL操作生成的 SQL语句模板 加上 SQL执行参数,在被提交给底层数据库引擎前会被框架拦截,并通过框架组件自动格式化生成可供人工阅读的字符串, 仅供参考和调试,并不是完整提交给底层数据库引擎的SQL语句。捕获的SQL语句和ORM组件开启调试模式后输出的SQL语句是相同的,它们都由相同组件生成。
📄️ ORM高级特性-调试模式
为便于开发阶段调试, GoFrame ORM 支持调试模式,可以通过 Debug 配置文件配置项或者 SetDebug 配置方式开启调试模式, 随后任何的数据库 SQL 操作语句都将会由内置的日志对象,以 DEBUG 级别输出到终端或者日志文件中。以下是一个开启了调试模式的配置示例:
📄️ ORM高级特性-日志输出
ORM 日志的输出,是在提交底层数据库 driver 之前, ORM 将链式操作或者 SQL 构成的模板与执行参数进行格式化打印展示,供人工阅读调试。由于底层 driver 可能会对提交参数进行二次的转换,所以这里的日志输出仅供参考,并不完全是底层真正执行的 SQL 语句。
📄️ ORM高级特性-字段映射
基本介绍