Использование¶
Этот раздел описывает работу со сгенерированным кодом.
Содержание раздела¶
- CRUD операции — создание, чтение, обновление, удаление
- Селекторы — поиск записей
- Атомарные операции — мутаторы и битовые операции
- Конфигурация — настройка подключений
Обзор¶
После генерации для каждой модели доступны:
graph TB
subgraph "Сгенерированный пакет"
A[New(ctx)] --> B[Объект]
B --> C[Аксессоры<br/>Get*/Set*]
B --> D[CRUD<br/>Insert/Update/Delete]
B --> E[Мутаторы<br/>Inc*/SetBit*]
end
subgraph "Селекторы"
F[SelectById]
G[SelectByEmail]
H[SelectByIndex]
end
| Категория | Методы |
|---|---|
| Создание | New(ctx) |
| CRUD | Insert, Update, Replace, InsertOrReplace, Delete |
| Аксессоры | Get{Field}, Set{Field} |
| Селекторы | SelectBy{Index}, SelectBy{Index}s |
| Мутаторы | Inc{Field}, Dec{Field}, SetBit{Field}, ClearBit{Field} |
Базовый пример¶
package main
import (
"context"
"github.com/Educentr/go-activerecord/v3/pkg/activerecord"
"yourapp/model/repository/generated/user"
)
func main() {
ctx := context.Background()
// Инициализация
activerecord.RegisterConfig(config)
// Создание
u := user.New(ctx)
u.SetEmail("john@example.com")
u.SetName("John")
u.Insert(ctx)
// Чтение
found, _ := user.SelectByEmail(ctx, "john@example.com")
// Обновление
found.SetName("John Doe")
found.IncLoginCount(1)
found.Update(ctx)
// Удаление
found.Delete(ctx)
}
Совет
Начните с раздела CRUD операции для понимания жизненного цикла объекта.
Следующие шаги¶
- CRUD операции — полный цикл работы с данными
- Конфигурация — настройка подключения к БД