littlebot
Published on 2025-04-10 / 1 Visits
0

【源码】基于Golang的Magic ORM框架

项目简介

Magic ORM是一个基于Golang的对象关系映射(ORM)框架,当前仅支持MySQL数据库。它是所见即所得的ORM框架,能让开发者以面向对象的方式操作数据库。通过定义与数据库表结构对应的Go结构体,并实现结构体与数据库表之间的映射,可更直观、高效地进行数据库CRUD操作。

项目的主要特性和功能

  1. 支持基本的数据库操作,如插入单个对象、更新指定对象、删除指定对象、查询指定对象以及按条件批量查询对象。
  2. 批量查询具备丰富的查询条件,包括等于、不等于、小于、大于、在指定集合内、在指定集合外、模糊匹配等。
  3. 支持多种基础数据类型(如int、float、bool、string等及其指针类型)和复合数据类型(如slice、struct及其指针类型)。
  4. 针对复合类型,指针类型的复合类型成员仅处理对象与复合类型成员之间的关系;普通复合类型成员会同步处理对象与复合类型成员之间的关系并保证对象与复合类型成员的对象。
  5. 通过单元测试验证了ORM系统的基本功能,涵盖创建模型、插入数据、更新数据、查询数据、删除数据以及处理依赖模型的能力,确保系统功能的正确性和稳定性。

安装使用步骤

假设你已经下载了本项目的源码文件,使用步骤如下: 1. 定义与数据库表对应的结构体,例如: go type User struct { ID int `orm:"id key auto"` Name string `orm:"name"` EMail string `orm:"email"` Group []*Group `orm:"group"` } 2. 创建ORM实例: go o1, err := orm.New() defer o1.Release() if err!= nil { // 处理错误 } 3. 进行数据库操作,例如创建和插入对象: go user1 := &User{Name: "demo", EMail: "123@demo.com", Group: []*Group{}} err = o1.Create(user1) if err!= nil { // 处理错误 } err = o1.Insert(user1) if err!= nil { // 处理错误 } 4. 查询对象: go user2 := &User{ID: user1.ID} err = o1.Query(user2) if err!= nil { // 处理错误 }

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】