时间:2021-07-01 10:21:17 帮助过:12人阅读
直接贴代码
- <span style="color: #000000;">package main
- import (
- </span><span style="color: #800000;">"</span><span style="color: #800000;">fmt</span><span style="color: #800000;">"</span>
- <span style="color: #800000;">"</span><span style="color: #800000;">github.com/go-xorm/xorm</span><span style="color: #800000;">"</span><span style="color: #000000;">
- _ </span><span style="color: #800000;">"</span><span style="color: #800000;">github.com/lib/pq</span><span style="color: #800000;">"</span>
- <span style="color: #800000;">"</span><span style="color: #800000;">reflect</span><span style="color: #800000;">"</span>
- <span style="color: #800000;">"</span><span style="color: #800000;">unsafe</span><span style="color: #800000;">"</span><span style="color: #000000;">
- )
- </span><span style="color: #0000ff;">var</span> engine *<span style="color: #000000;">xorm.Engine
- func BytesToString(b []</span><span style="color: #0000ff;">byte</span>) <span style="color: #0000ff;">string</span><span style="color: #000000;"> {
- bh :</span>= (*reflect.SliceHeader)(<span style="color: #0000ff;">unsafe</span>.Pointer(&<span style="color: #000000;">b))
- sh :</span>=<span style="color: #000000;"> reflect.StringHeader{bh.Data, bh.Len}
- </span><span style="color: #0000ff;">return</span> *(*<span style="color: #0000ff;">string</span>)(<span style="color: #0000ff;">unsafe</span>.Pointer(&<span style="color: #000000;">sh))
- }
- func StringToBytes(s </span><span style="color: #0000ff;">string</span>) []<span style="color: #0000ff;">byte</span><span style="color: #000000;"> {
- sh :</span>= (*reflect.StringHeader)(<span style="color: #0000ff;">unsafe</span>.Pointer(&<span style="color: #000000;">s))
- bh :</span>= reflect.SliceHeader{sh.Data, sh.Len, <span style="color: #800080;">0</span><span style="color: #000000;">}
- </span><span style="color: #0000ff;">return</span> *(*[]<span style="color: #0000ff;">byte</span>)(<span style="color: #0000ff;">unsafe</span>.Pointer(&<span style="color: #000000;">bh))
- }
- func main() {
- engine, _ </span>= xorm.NewEngine(<span style="color: #800000;">"</span><span style="color: #800000;">postgres</span><span style="color: #800000;">"</span>, <span style="color: #800000;">"</span><span style="color: #800000;">user=mmc password=mmc dbname=mmc host=127.0.0.1 port=5432 sslmode=disable</span><span style="color: #800000;">"</span><span style="color: #000000;">)
- sql :</span>= <span style="color: #800000;">"</span><span style="color: #800000;">select * from student</span><span style="color: #800000;">"</span><span style="color: #000000;">
- rowArray, _ :</span>=<span style="color: #000000;"> engine.Query(sql)
- </span><span style="color: #0000ff;">for</span> _, row :=<span style="color: #000000;"> range rowArray {
- </span><span style="color: #0000ff;">for</span> colName, colValue :=<span style="color: #000000;"> range row {
- value :</span>=<span style="color: #000000;"> BytesToString(colValue)
- fmt.Println(colName, value)
- }
- }
- }</span>
xorm使用pgsql的例子
标签: