踩坑记录:xorm的sql()函数后无法使用FindAndCount()

一、起因

懒省事想用 sql 写个有连表操作的分页查询语句,看到 xorm 中 sql 要和代码紧密纠缠在一起就不爽,所有就想用 xorm 中的 session.SQL(sql).Limit(size, offset).FindAndCount() 方法解决。不曾想。。。

sql: expected 15 destination arguments in Scan, not 1

???

二、查源码

1、SQL()

这里是直接将 sql 语句赋值给 RawSQL 了
踩坑记录:xorm的sql()函数后无法使用FindAndCount()_第1张图片

2、FindAndCount()

FindAndCount() 方法调用的 Find() 方法没问题,直接用的 RawSQL 查询,但是后续调用的 Count() 方法也会用 RawSQL 查询,就会有问题。而平时用 Where() 等方法时,Find() 和 Count() 都是生成 SQL 语句。
踩坑记录:xorm的sql()函数后无法使用FindAndCount()_第2张图片

三、后续

再也不想用 go 写后端了,感觉 go 更适合写中间件啥的,后端来讲,java 的异常处理和 mybatis 将 SQL 从代码里抽离,感觉都要比 go方便且可读性会更好。希望能有 go 的大神带带萌新

你可能感兴趣的:(go,踩坑记录,go)