Golang连接使用SqlCipher

一、准备环境

  • 需要下载MinGW、msys2、OpenSSL,并且注意都需要64位

已经整理成环境软件包,只需要下载,并配置环境变量

链接: https://pan.baidu.com/s/1NxF8aWqx7s97ntACOk77Ug 提取码: yhrv

二、代码

go 复制代码
package main

import (
	"database/sql"
	"fmt"
	_ "github.com/xeodou/go-sqlcipher"
)

func main() {
	db, err := sql.Open("sqlite3", "test.db?_key=123456")
	if err != nil {
		fmt.Println(err)
	}
	defer db.Close()

	c := "CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER PRIMARY KEY, `name` char, `password` chart, UNIQUE(`name`));"
	_, err = db.Exec(c)
	if err != nil {
		fmt.Println(err)
		return
	}
	d := "INSERT INTO `users` (name, password) values('xeodou', 123456);"
	_, err = db.Exec(d)
	if err != nil {
		fmt.Println(err)
	}

	e := "select name, password from users where name='xeodou';"
	rows, err := db.Query(e)
	if err != nil {
		fmt.Println(err)
	}
	defer rows.Close()
	for rows.Next() {
		var name string
		var password string
		rows.Scan(&name, &password)
		fmt.Print("{\"name\":\"" + name + "\", \"password\": \"" + password + "\"}")
	}
	rows.Close()
}

三、注意事项

  • 这个环境包有1G多
  • 和Gorm结合测试没有成功

最后,还请不吝赐教,祝福大家开发顺利

相关推荐
吴阿福|一人公司10 分钟前
类变量和实例变量的命名规范有哪些避坑点?
开发语言·python
Aaswk11 分钟前
Java项目:文件批量处理工具
java·开发语言·vscode·idea
ZengLiangYi13 分钟前
从 RAG 到知识图谱:个人知识管理的演进
数据库·后端·程序员
小江的记录本15 分钟前
【Spring全家桶】Spring AI核心原理、大模型集成、Prompt工程、RAG实现、AI Agent开发(附《思维导图》+《面试高频考点清单》)
java·人工智能·spring boot·后端·spring·面试·prompt
晚风吹红霞23 分钟前
深入浅出 STL 之 map 与 set:从入门到实战
开发语言·c++
手握风云-25 分钟前
Spring AI:让大模型住进 Spring 生态(五)
java·后端·spring
doiito26 分钟前
【Agent Harness】有了 Oxigraph 图数据库,为什么我还要再塞一个 Qdrant 向量库?
后端
锋行天下26 分钟前
中小项目高可用,真的需要K8s吗?从单机备份到企业级架构的完整思考
后端·mysql·nginx
倚栏听风雨27 分钟前
spring @Primary 详解
后端
铁皮饭盒28 分钟前
Bun 都用 AI + Rust 重写了,咋不顺便把 Node.js 的 API 全兼容了?
前端·后端