0. ORM

Kesa...小于 1 分钟golang

1. ORM

对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。

数据库面向对象的编程语言
表(table)类(class/struct)
记录(record, row)对象 (object)
字段(field, column)对象属性(attribute)

2. ORM 框架

ORM 框架相当于对象和数据库中间的一个桥梁,借助 ORM 可以避免写繁琐的 SQL 语言,仅仅通过操作具体的对象,就能够完成对关系型数据库的操作。

因为ORM框架是通用的,需要将任何对象转换成数据库记录,此时需要用到 Golang 的反射机制来实现。

此外,设计框架需要考虑诸多问题:

  1. 如何适配不同的数据库
  2. 若对象发生改变,能否自动更新数据表,即数据库的自动迁移(migrate)
  3. 如何支持事物(transaction)
  4. ...

3. GeeORM

参照 gormopen in new windowxormopen in new window 实现基础功能。

Reference

  1. https://geektutu.com/post/geeorm.htmlopen in new window
上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.2