草庐IT

MyBatis动态SQL

全部标签

go - 如何创建一个空的 sql.Rows 实例?

我有一个在Go中返回(*sql.Rows,error)的函数。在某些情况下,没有任何返回值,但也没有错误。选择似乎是:if(...){returnnil,nil}然后,在调用者中:rows,err:=fn()iferr!=nil{returnnil,err}ifrows==nil{...}else{forrows.Next(){...}}或者返回一个我随后检查的特殊错误。我认为如果我可以返回一个有效的Rows实例会更优雅,但是当它的Next()方法被调用时除了返回false什么都不做,就像这样:if(...){returnEmptyRows(),nil}并且,在调用者中:rows,er

sql - golang正则表达式获取日志文件中的sql语句

我尝试通过golang的正则表达式获取日志文件中的sql语句,但是匹配结果出现了一些问题。如果sql没有在代码中换行,可以得到正确的结果,但是如果代码很长,分成多行,我的sql只能是第一行的一部分。我的期望是得到两个完整的数据库下面是我的代码和一些示例日志packagemainimport("fmt""io/ioutil""os""regexp")funcmain(){file,err:=os.OpenFile("/home/gopath/src/log.txt",os.O_RDWR,0766)iferr!=nil{fmt.Println(err)}res,err:=ioutil.Re

sql-server - Go 无法从 MS SQL 2014 中读取最后一个 nvarchar(max) 值

我有以下查询:SELECT...,gradeas[grade],gradeas[grade2]FROMdbo.[qc_runs]rJOIN...WHERE...我将它从我的Go代码发送到MSSQLServer2014并想取回数据(我正在使用github.com/denisenkom/go-mssqldb驱动程序)。但是,我可以读取第一个grade值(类型nvarchar(max)),但第二个是空的!这些是相同的表字段,只是重复了。如果我从查询中删除一年级值并只留下一个,它仍然会空着!该列描述如下:[grade][nvarchar](max)NULL,SQLManagementStudi

go - 使用 go sql 时,在每种类型中重写 Scan 和 Value 方法时避免重复代码

GolanSQL和Gorp期望所有类型都包含附加到该类型的Scan和Value方法,以便将行读取到结构中。这会在我的项目中添加大量样板代码,即使这些方法可以通用化也是如此,因为我正在将JSON写入此列。typeType1struct{Type2Type2Type3Type3Type4Type4}typeType2struct{someprimitives...}typeType3struct{someprimitives...}typeType4struct{someprimitives...}func(qType2)Value()(driver.Value,error){return

go - 不可能类型开关案例 : ErrorType (type reflect. 类型)不能有动态类型 *os.SyscallError(缺少对齐方法)

尝试确定连接错误是什么并将值返回给程序。d:=net.Dialer{Timeout:20*time.Second}conn,errors:=d.Dial("tcp",fmt.Sprintf("%v:%v",host,port))iferrors!=nil{ifoerr,ok:=errors.(*net.OpError);ok{ErrorType:=reflect.TypeOf(oerr.Err)switchErrorType.(type){case*os.SyscallError:fmt.Println("connect:connectiontimedoutto",host,"onpo

rest - 使用动态段构建休息请求

我正在尝试测试处理程序,处理程序如下:router.HandleFunc("/address/{id}",DeletePerson).Methods("DELETE")我创建的请求是:request,_:=http.NewRequest("DELETE","/address/2",nil)DeletePerson(response,request)使用github.com/gorilla/mux我试图提取“id”params=mux.Vars(request)item:=params["id"]returns:params=map[]anditem=""但是,如果我使用curl命令调用

sql - 如何翻译 SQL 语句以在 sqlx API 调用中使用?

我一直在尝试查询PostgreSQLltree.在表tree中,path的类型为ltree。我可以用psql写:SELECTid,pathFROMtreeWHEREpath@'12345'没问题。当我在sqlx中执行时:db.Get(&path,"SELECTid,pathFROMtreeWHEREpath@'$1'",entryID)它一直告诉pq:operantsyntaxerror。不确定是否有办法正确转义查询字符串中的单引号。我试过了,但还是不行:db.Get(&path,`SELECTid,pathFROMtreeWHEREpath@''$1''`,entryID)

html - 使用动态图像在 Go 中生成 PDF

我是Go的新手,实际上正在尝试找出在模板中处理图像的方法。我的目标是生成条形码并将其插入到我编写的模板中。该程序已经使用go-wkhtmltopdf生成pdf,但缺少图像。我的主要问题是:最好的方法是什么?我应该在公共(public)目录中生成图像然后插入到imgsrc标签/属性中吗? 最佳答案 据推测,您可能会使用embeddingimagedatadirectlyintoyourHTMLpages逃脱. 关于html-使用动态图像在Go中生成PDF,我们在StackOverflow上

json - 去图表动态数据

使用这个库“https://github.com/wcharczuk/go-chart”我想使用json数据生成饼图。代码pie:=chart.PieChart{Width:512,Height:512,Values:[]chart.Value{{Value:5,Label:"Blue"},{Value:5,Label:"Green"},{Value:4,Label:"Gray"},},}我的Json"reaction_summary":{"ANGRY":7,"HAHA":40,"LIKE":161,"LOVE":56,"SAD":26,"SHOCK":6}我真正想达到的是这个data

go - 给定另一个动态修改 Golang struct{} 值的属性

我在路由器处理程序中有这段代码decoder:=json.NewDecoder(r.Body)vartperson.Modelerr:=decoder.Decode(&t).//tisastructvalueitem,ok:=v.People[params["id"]].//okisastructvalueift.Handle!=""{item.Handle=t.Handle}ift.Work!=""{item.Work=t.Work}ift.Image!=""{item.Image=t.Image}ift.Firstname!=""{item.Firstname=t.Firstnam