Norm-GoGo 语言 ORM 工具
Norm 是一款 Golang 编写的 ORM 工具,对分布式图数据库 Nebula Graph 的查询语言 nGQL 进行映射封装,只用实例对象即可进行图数据查询。
主要特性
- 通过 struct / map(支持顶点、边)构建插入 nGQL
- 将 Nebula 执行结果解析为 struct / map
- 方便易用
- 提供用于单元测试的模拟数据
package main
import (
"log"
"time"
"github.com/zhihu/norm"
"github.com/zhihu/norm/dialectors"
"github.com/zhihu/norm/examples/querys"
)
func main() {
db := newGdb()
// prepare()
// // 插入示例
// inserts.InsertEdge(db)
// inserts.InsertVertex(db)
// // 查询 示例
// querys.MatchSingle(db)
// querys.MatchMulti(db)
// querys.Count(db)
querys.Chainable(db)
// querys.ChainableCount(db)
}
func newGdb() *norm.DB {
dalector := dialectors.MustNewNebulaDialector(dialectors.DialectorConfig{
Addresses: []string{"127.0.0.1:9669"},
Timeout: time.Second * 5,
Space: "test",
Username: "test",
Password: "test",
})
db := norm.MustOpen(dalector, norm.Config{})
return db
}
func prepare(db *norm.DB) {
// 创建 tag
createSchema := "" +
"CREATE TAG IF NOT EXISTS user(id int, name string);" +
"CREATE TAG IF NOT EXISTS answer(id int, vote_up_cnt int);" +
"CREATE EDGE IF NOT EXISTS answer_vote_up(vote_up_cnt int, created timestamp);"
_, err := db.Execute(createSchema)
if err != nil {
log.Fatalf("exec %s error: %v", createSchema, err)
panic(err)
}
}
评论
gorpGo 语言 ORM 框架
一个Go语言的ORM框架,目前支持MySQL、PostgresSQL和SQLite一个使用示例: //Defineatypeforyourjoin//It*must*containallthecolu
gorpGo 语言 ORM 框架
0
Class::DBIPerl语言ORM
Class::DBI是使简单的数据库操作几乎不用编程,同时使困难的变得有可能。对很多简单的数据库应用来说,它使我们完全不用编写SQL,另一方面它也不强迫你用很复杂的数据结构来表示一个复杂查询。如果你确
Class::DBIPerl语言ORM
0
orm4esElasticsearch 的 ORM 工具
orm4es是一个Elasticsearch的ORM工具,它可以生成简单的查询对象.它本身非常简单,也很容易使用;代码生成通过freemark完成,它会自动解析esindex的mapping设置,根据
orm4esElasticsearch 的 ORM 工具
0