Skip to content

OblivionOcean/opao

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

opao

一个小巧,简单的ORM🌟A small, simple ORM 为了性能,它使用了很多unsafe,尽可能的做到了最好。 同时有很好的兼容性,可以运行在主流操作系统中,并且支持go1.20+ 它集成了基础的MysqlPgSqlite

安装

go get github.com/OblivionOcean/opao

功能

  • 基础的查询
  • 基础的更新
  • 基础的删除
  • 基础的插入
  • 基础的覆盖查询
  • 查询条件生成
  • 创建数据表
  • 主从数据库支持
  • 高级SQL功能
  • ...

使用

package main

import (
	"github.com/OblivionOcean/opao"
)

type User struct {
	Id   int64  `db:"id"`
	Name string `db:"name"`
    hi   string `db:"hi"`// 支持未导出的字段
}

func main() {
	db, err := opao.New("mysql", "root:123456@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}
	defer db.Close()
	if err != nil {
		panic(err)
	}
    db.Register("user", &User{})// 前者是数据表名
	// 插入数据
	user := &User{
		Name: "test",
	}
    objOrm := db.Load(user)
	err = objOrm.Create(user)
	if err != nil {
		panic(err)
	}
}