`

go 操作数据库

    博客分类:
  • go
 
阅读更多
import (
	"github.com/astaxie/beego/orm"
	"time"
)

type (
	BlacklistInfo struct {
		Ip       string `json:"ip"`        //ip
		InfoType int32  `json:"info_type"` //黑名单0:正常,1:拉黑
		BasicModel
	}
)

const (
	TypeBlack = 1
	TypeWhite = 0
)

func RegisterBlacklistModels() {
	orm.RegisterModel(new(BlacklistInfo))
}

//添加黑名单
func AddBlacklist(ip string) (int64, error) {
	o := orm.NewOrm()
	blacklistInfo := &BlacklistInfo{
		Ip:       ip,
		InfoType: TypeBlack,
	}
	return o.Insert(&blacklistInfo)
}

//更新黑名单信息
func UpdateBlacklist(ip string, t int32) (err error) {
	o := orm.NewOrm()
	var info BlacklistInfo
	err = o.QueryTable(new(BlacklistInfo)).Filter("ip", ip).Filter("Deleted", false).One(&info)
	if err != nil {
		return
	}
	info.InfoType = t
	info.Updated = time.Now()
	_, err = o.Update(&info, "InfoType", "Updated")
	return err
}

//查询黑名单信息
func GetBlackList() (ret []*BlacklistInfo, err error) {
	o := orm.NewOrm()
	_, err = o.QueryTable(new(BlacklistInfo)).
		Filter("Deleted", false).
		All(&ret)
	return ret, err
}

分享到:
评论

相关推荐

    golang常用库之操作数据库的orm框架-gorm基本使用详解

    golang常用库:操作数据库的orm框架-gorm基本使用 一:字段映射-模型定义 gorm中通常用struct来映射字段. gorm教程中叫模型定义 比如我们定义一个模型Model: type User struct { gorm.Model UserId int64 `gorm:...

    go 操作数据库最优解.txt

    我们在使用go语言操作数据库的时候,你会发现这个go提供多种方法来操作数据库,但是在这么多的方法里面,如何找到一个最快的增删改查呢? 我这边做了大量的测试,得出来出来数据库“增删改查”最快的方法。

    使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计

    使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库的一些设计使用 XMind 记录 Linux 操作系统,网络,C++,Golang 以及数据库...

    高效便捷的Go语言数据库操作库 - gosql基于sqlx封装

    项目名称:gosql - 高效便捷的Go语言数据库操作库 项目语言:Go 文件构成:共计40个文件,包括: - Go 源码文件:30个 - Markdown 文档:3个 - YAML 配置文件:1个 - Git 忽略配置:1个 - 许可证文件:1个 - ...

    Go-Prana是一个Golang数据库管理和代码生成

    在Golang中,通常需要手动编写大量的数据访问层代码来操作数据库。Prana可以从现有的SQL模式自动生成相应的Go代码模型,这极大地减少了重复工作,提高了开发效率。生成的模型代码可以帮助开发者快速实现对数据库的...

    Go语言数据库操作:databasesql包的高效应用

    ### Go语言数据库操作:database/sql包的高效应用 #### 一、引言 Go语言,又称Golang,是由Google开发并开源的一种静态类型、编译型的语言。它以简洁、高效及良好的并发支持著称,非常适合构建大规模软件系统和...

    go语言数据库驱动github

    在Go语言中,`database/sql`包是用于数据库操作的标准库,它提供了一种高级接口,可以抽象出不同数据库系统的差异,让开发者能够编写与具体数据库无关的代码。而具体的数据库驱动,如MySQL驱动,则是实现了`database...

    go语言连接数据库作业.docx

    在Go语言中,连接数据库并进行相关操作是常见的任务,特别是在开发像学生管理系统这样的应用程序时。Go语言提供了标准库`database/sql`以及第三方驱动来支持与各种数据库的交互,如MySQL、PostgreSQL、SQLite等。...

    Go-gendry是一个go语言的数据库操作工具集

    Go-gendry是一个专为Go语言开发者设计的数据库操作工具包,它提供了丰富的功能来简化数据库的连接管理和SQL操作,从而提升开发效率和代码的可维护性。在深入探讨Go-gendry之前,我们先来了解一下Go语言在数据库操作...

    Go-BundleDB是Golang的嵌入式数据库其集合随着它们的增长而自动分裂

    Go-BundleDB是一种基于Golang实现的嵌入式数据库系统,专为处理不断增长的数据集而设计。它的核心特性在于其自动分裂功能,这使得数据库能够有效地管理内存和磁盘资源,保持高效运行,尤其适合那些对数据存储有动态...

    Go语言的数据库操作与ORM框架使用.md

    如何在 Go 语言中进行数据库操作与使用 ORM 框架,包括从使用 Go 原生 `database/sql` 包进行数据库连接、查询、增删改、事务处理,到选择和使用常见的 ORM 框架如 GORM、SQLBoiler 和 Ent。首先,文章详细讲解了 `...

    Golang与数据库的共舞:深入数据库操作

    Golang,通常被称为Go语言,是一种由谷歌开发的编程语言。它以简洁、高效、安全著称,并且非常适合构建大规模的分布式系统和微服务。Go语言的一些主要特点包括: 1. **简洁性**:Go语言的语法非常简单,易于学习。 ...

    基于GO语言实现的仿gorm的一个操作SQL数据库的框架源代码

    在编程领域,Go语言(Golang)以其简洁的语法、高效的性能和强大的并发能力受到了许多开发者的喜爱。GORM是一个非常流行的ORM(对象关系映射)库,它为多种编程语言,包括Go,提供了方便的数据库操作接口。在这个...

    Go语言操作mysql数据库简单例子

    Go语言操作数据库非常的简单, 他也有一个类似JDBC的东西”database/sql” 实现类是”github.com/go-sql-driver/mysql” 使用过JDBC的人应该一看就懂 对日期的处理比较晦涩,没有JAVA流畅: 代码如下: package main ...

    Golang数据库操作

    针对Golang的数据库操作,以及JSON输出,包括连接池、

    go语言sqlit数据库

    以上就是Go语言中使用SQLite数据库的基本操作。通过阅读`gosqlite-74691fb6f837`的源代码,你可以深入了解Go和SQLite的绑定实现,包括错误处理、内存管理以及与C语言接口的交互等细节。这将有助于你优化性能、解决...

    在golang中操作mysql数据库的实现代码

    Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能: •sql.DB 通过数据库驱动为我们提供管理底层数据库连接的打开和关闭操作. •sql.DB 为我们...

    Go-qqwry.go-纯真ip库的golang服务

    标题 "Go-qqwry.go-纯真ip库的golang服务" 指的是一个用 Go 语言编写的微服务程序,它专门用于处理 IP 地址查询,特别是使用了“纯真 IP 库”作为数据源。纯真 IP 库是中国广泛使用的 IP 地址数据库,包含了丰富的 ...

    用golang实现的一个轻量级noSQL数据库,支持redis命令的一个常用小子集.zip

    标签“go”、“数据集”和“数据库”进一步确认了这个项目的核心特性,即它是使用Golang语言编写的,涉及数据存储和处理,并且可能附带了一定的数据资源用于测试和演示。 压缩包内的文件名为“Gedis-master”,这...

    GO语言 数据库版学生信息管理系统.zip

    Go语言,又称为Golang,是Google在2009年推出的一种静态类型的、编译型的、并发型的、垃圾回收的、C风格的编程语言。其设计目标是提高开发者的生产力和程序的运行效率。Go语言的并发模型基于CSP(Communicating ...

Global site tag (gtag.js) - Google Analytics