wordpress新建网站后台无法登陆,建设网站e护航下载,wordpress域名授权,潍坊做网站维护费用项目地址#xff1a;https://gitee.com/zht639/my_gopkg
autosql
autosql 是一个简化数据库使用的模块#xff0c;支持常见的数据库#xff08;MySQL、PostgreSQL、SQLite、SQL Server#xff09;。该模块不仅提供了数据库连接函数#xff0c;还能自动生成数据表对应的结…项目地址https://gitee.com/zht639/my_gopkg
autosql
autosql 是一个简化数据库使用的模块支持常见的数据库MySQL、PostgreSQL、SQLite、SQL Server。该模块不仅提供了数据库连接函数还能自动生成数据表对应的结构体极大简化了数据库的初始化操作。
一、使用方法 打开项目根目录在该目录下打开命令行然后按如下步骤操作。
1初始化本地mod有则跳过此步
go mod init 你的模块名2下载到本地若之前就下载过请忽略此步转至第四步
go get gitee.com/zht639/my_gopkg3在go文件中导包即可
import gitee.com/zht639/my_gopkg/autosql4若之前就下载过我的包则需要打开mod删除require语句再执行如下指令
go mod tidy二、功能概述 连接函数: ConnMysql(username, password, host, port, dbname string): 连接 MySQL 数据库。ConnPostgres(username, password, host, port, dbname string): 连接 PostgreSQL 数据库。ConnSQLite(filepath string): 连接 SQLite 数据库。ConnSQLServer(username, password, host, port, dbname string): 连接 SQL Server 数据库。 结构体生成: GenStruct(db *gorm.DB, tableName string): 生成数据库中指定表的结构体。GenAllStructs(db *gorm.DB): 生成数据库中所有表的结构体。 使用生成结构体功能可以将数据库中的表映射为 Go 语言的结构体极大地提高了开发效率和代码的可维护性。
三、使用示例
以mysql为例连接数据库并生成表的结构体
package mainimport (fmtgitee.com/zht639/my_gopkg/autosql
)func main() {db, err : autosql.ConnMysql(root, 123456, localhost, 3306, db01)if err ! nil {fmt.Println(err)return}// 自动生成所有表对应的结构体autosql.GenAllStructs(db)//或者生成指定表对应的结构体//autosql.GenStruct(db, student)
}该函数将会在当前目录下main.go所在目录生成一个model包该文件包含了数据库中所有表的结构体 目录结构如下
├─model
│ grade.gen.go
│ student.gen.go
│ user.gen.go打开其中一个文件它不仅包含了结构体定义还包含了json绑定字符串和返回表名的方法
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.package modelimport (time
)const TableNameStudent student// Student mapped from table student
type Student struct {Stuid int32 gorm:column:stuid;primaryKey;autoIncrement:true json:stuidStuno string gorm:column:stuno json:stunoName string gorm:column:name json:nameSex string gorm:column:sex json:sexAge int32 gorm:column:age json:ageBirth time.Time gorm:column:birth json:birth
}// TableName Students table name
func (*Student) TableName() string {return TableNameStudent
}之后若数据库中的表结构发生变化只需用GenStruct()或GenAllStructs()重新生成结构体即可。
注该包基于GORM相关的包但本人的包已包含相关依赖直接下载本人的包即可使用GORMCRUD操作也推荐使用GORM的提供的函数。