common

module
v0.0.0-...-82269be Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: MIT

README

common

各种常用工具的集合。

基础(basic)
加解密工具(encrypt)
文件系统(filesystem)
传输工具(transfer)
数据库工具(dbtool)

这里使用GORM框架,数据库采用MySQL,包含一些常用的工具,包括数据库连接、分页查询列表等。

GORM-MySQL

可以通过接口,来直接获取GORM的MySQL数据库连接:

func GetGormMySQLConnection(config MySqlConfig) (db *gorm.DB, err error)

这里MySqlConfig是MySQL的配置信息,格式如下:

  • Host:服务器主机地址。
  • Port:服务器端口号。
  • User:服务器登陆用户。
  • Password:调试时数据库密码。
  • Scheme:数据库名称。
  • MaxIdleConnection:最大闲置连接数。
  • MaxOpenConnection:最大打开连接数。
  • Params:连接参数。
通用事务处理

使用如下接口,进行GORM事务处理:

func TransactionGORM(db *gorm.DB, f TransactionFuncGORM) (data interface{}, err error)

里面的f参数是实际事务操作的回调函数,类型是:

type TransactionFuncGORM func(*gorm.DB) (interface{}, error)
复杂查询条件

包括原子级条件项和复合条件项,其中:

  • 原子级条件项:只有左值、右值、操作符,拼接成一个原子级查询语句。
  • 复合条件项:包括多个子项,子项可以是原子级条件项,也可以是复合条件项,用连接符连接,可以是and或or。

其中QuerySql接口可以获取生成的查询语句和条件项,Fields接口可以获取查询条件中的所有字段列表,用于判断是否有字段不符合后台要求。

判断GORM事务

判断一个GORM操作对象是否是事务:

func IsGormTx(db *gorm.DB) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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