1. 原生操作mysql資料庫(依賴mysql的驅動)
安裝mysql驅動: go get github.com/go-sql-driver/mysql/** * go操作mysql建立user資料表
*/func
(this *mysqlcontroller)
createusertable()
// 3. 使用defer在函式執行完畢後呼叫close方法關閉資料庫
defer conn.
close()
// 2. 運算元據庫:
// 使用exec()方法執行sql語句完成資料庫的操作
// 返回值是操作的結果和錯誤資訊
_, err = conn.
exec
("create table user(id int, name varchar(20))"
)if err !=
nil this.ctx.
writestring
("go操作mysql建立user資料表成功"
)}
2. 使用orm操作mysql資料庫// 其他省略,只演示query方法的使用
// query()方法的引數是查詢資料的sql語句
// 返回值是查詢的結果和錯誤資訊
rows, err := conn.
query
("select id from user"
)if err !=
nilvar id int
// 查詢結果rows物件是可遍歷的,依次取出查詢的結果寫入到id變數中
for rows.
next()
/**
* orm操作mysql操作
* 1. 建立結構體和資料庫結構之間的對映
* 2. 連線資料庫:註冊資料庫
* 3. 註冊資料庫表
* 4. 生成資料表
*/// 這裡再models檔案中進行上面步驟的初始化,避免之後的重複操作
// 建立資料表的對映結構體
type user struct
func
init()
// 使用orm(物件關係對映)操作mysql資料庫
type ormcontroller struct
// 插入資料操作
func
(this *ormcontroller)
insertorm()
user.name =
"chensir"
// 執行插入操作, 引數為被插入物件的位址
// 返回值1: 插入影響的行數
// 返回值2: 錯誤資訊
_, err := o.
insert
(&user)
if err !=
nil this.ctx.
writestring
("插入資料成功!")}
// 查詢資料操作
func
(this *ormcontroller)
selectorm()
// 執行查詢操作,
// 引數為查詢物件位址,查詢到的結果會寫入到這個物件中
// 返回值是乙個錯誤資訊
err := o.
read
(&user)
if err !=
nil data, err := json.
marshal
(user)
if err !=
nil this.ctx.
writestring
(string
(data))}
// 更新資料操作
func
(this *ormcontroller)
updateorm()
// ** 3. 查詢更新物件 **
err := o.
read
(&user)
if err !=
nil// ** 4. 對查詢到的更新物件賦值 **
user.name =
"chensirlaile"
// 5. 執行更新操作
// 返回值第乙個為此次更新影響的資料行數
// 返回值第二個為更新操作的錯誤資訊
_, err = o.
update
(&user)
if err !=
nil this.ctx.
writestring
("更新資料成功")}
// 刪除資料操作
func
(this *ormcontroller)
deleteorm()
// 3. 執行刪除操作
_, err := o.
delete
(&user)
if err !=
nil this.ctx.
writestring
("刪除資料成功了"
)}
MySQL小試牛刀
1.進入黑視窗連線mysql伺服器 mysql u root 使用者名稱 p 小寫 密碼 p 大寫 3306 埠號 hocalhost 主機 2.斷開本次連線 exit quit 注意 mysql語句的結束符是 英文下的分號 3.設定密碼 set password for root localhos...
boost graph lib 小試牛刀
最近要做社會網路的社群發現,發現用bgl能減少不少 量。經過一番調研發現bgl封裝的很牛叉,dijkstra等演算法統統具備,奈何自己對泛型程式設計不太熟,遇到問題還是很糾結。primer泛型程式設計 演算法部分和stl原始碼分析接下來有時間一定要讀下。下面僅以鄰接鍊錶和自定義節點為例 typede...
Anti Debug 小試牛刀
本文整理了日常生活中遇到的一些anti debug技術,除非特殊說明,均適用於mac ios開發 作為第一篇正式博文,會不定期更新,謝謝大家.123 4567 89 define pt deny attach 31 include intmain 程式正常執行,會輸出hello 但是程式載入到gdb...