dal

package
v0.0.0-...-a7198d8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2024 License: MIT Imports: 4 Imported by: 0

README

DAL 数据访问层

数据访问层主要实现具体的数据访问逻辑,比如与数据库交互、cache、RPC操作等。

repository 层会调用 dal 层的方法来完成实际的数据操作,供上层 service 调用

注:禁止 service 层直接操作 dal 进行数据查询

目录结构

  • dal/db 层按照表名划分文件,该层的逻辑尽量保持原子性,只是单纯的增删改查
  • dal/db/model 中只放 struct 定义和成员函数,其它函数不应该放在 model
  • dal/db/method 里放的是自定义的查询函数,是基于sql注解生成的
  • dal/db/query 是基于 gorm/gen 生成的原子性的查询方法,比如 Find, First

数据获取

  • 通过 dal/db/querydal/db/method 直接从数据库获取
  • dal/rpc RPC访问接口
  • dal/cache 获取redis中的数据

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DB define a gloabl db
	DB *gorm.DB
)

Functions

This section is empty.

Types

type DBClient

type DBClient struct {
	// contains filtered or unexported fields
}

func Init

func Init() (*DBClient, func(), error)

Init init db

func (*DBClient) DBTx

func (c *DBClient) DBTx(ctx context.Context) *gorm.DB

func (*DBClient) ExecTx

func (c *DBClient) ExecTx(ctx context.Context, fn func(ctx context.Context) error) error

ExecTx gorm Transaction

func (*DBClient) GetDB

func (c *DBClient) GetDB() *gorm.DB

Directories

Path Synopsis
db
dao

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL