Skip to content

Commit dca23b1

Browse files
committed
update
1 parent 650e180 commit dca23b1

File tree

4 files changed

+121
-5
lines changed

4 files changed

+121
-5
lines changed

9.Golang常用功能简介(九).md

+14
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,21 @@ func GetPage(i int) (result string) {
788788
}
789789
```
790790

791+
获取远程包
792+
---
793+
794+
go语言有一个获取远程包的工具就是go get,目前go get支持多数开源社区(例如:github、googlecode、bitbucket、Launchpad)
791795

796+
```go
797+
go get github.com/astaxie/beedb
798+
```
799+
go get -u参数可以自动更新包,而且当go get的时候回自动获取该包依赖的其他第三方包。
800+
801+
go get本质上可以理解为首先通过源码工具clone代码到src目录下面,然后执行go install去加载。
802+
如果要在代码中使用远程包,就和使用本地包一样,只要在开头通过import引入相应的路径就可以了。
803+
```go
804+
import "github.com/astaxie/beedb"
805+
```
792806

793807

794808

Beego框架/1.Beego框架简介(一).md

+6-5
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,19 @@ package main
1717
import "github.com/astaxie/beego"
1818

1919
type HomeController struct {
20-
beego.Controller
20+
beego.Controller
2121
}
2222

2323
func (this *HomeController) Get() {
24-
this.Ctx.WriteString("Hello World")
24+
this.Ctx.WriteString("Hello World")
2525
}
2626
func main() {
27-
beego.Router("/", &HomeController{})
28-
beego.Run()
27+
beego.Router("/", &HomeController{})
28+
beego.Run()
2929
}
3030
```
31-
运行一下,然后浏览器访问:http://localhost:8080,屏幕上就会打印出Hello World
31+
32+
运行一下,然后浏览器访问:`http://localhost:8080`,屏幕上就会打印出Hello World
3233

3334

3435
bee工具

Golang进行Web开发/4.数据库操作(四).md

+86
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,96 @@ stmt.Exec()函数用来执行stmt准备好的SQL语句
347347
我们可以看到我们传入的参数都是=?对应的数据,这样做的方式可以一定程度上防止SQL注入。
348348

349349

350+
# 使用SQLite数据库
350351

351352

353+
SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。其特点是高度便携、使用方便、结构紧凑、高效、可靠。与其他数据库管理系统不同,SQLite的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进制文件存在即可开始创建、连接和使用数据库。如果您正在寻找一个嵌入式数据库项目或解决方案,SQLite是绝对值得考虑。SQLite可以是说开源的Access。
352354

353355

356+
## 驱动
357+
358+
- https://github.com/mattn/go-sqlite3 支持database/sql接口
359+
360+
```go
361+
package main
362+
363+
import (
364+
"database/sql"
365+
"fmt"
366+
"time"
367+
368+
_ "github.com/mattn/go-sqlite3"
369+
)
370+
371+
func main() {
372+
db, err := sql.Open("sqlite3", "./foo.db")
373+
checkErr(err)
374+
375+
//插入数据
376+
stmt, err := db.Prepare("INSERT INTO userinfo(username, department, created) values(?,?,?)")
377+
checkErr(err)
378+
379+
res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09")
380+
checkErr(err)
381+
382+
id, err := res.LastInsertId()
383+
checkErr(err)
384+
385+
fmt.Println(id)
386+
//更新数据
387+
stmt, err = db.Prepare("update userinfo set username=? where uid=?")
388+
checkErr(err)
389+
390+
res, err = stmt.Exec("astaxieupdate", id)
391+
checkErr(err)
392+
393+
affect, err := res.RowsAffected()
394+
checkErr(err)
395+
396+
fmt.Println(affect)
397+
398+
//查询数据
399+
rows, err := db.Query("SELECT * FROM userinfo")
400+
checkErr(err)
401+
402+
for rows.Next() {
403+
var uid int
404+
var username string
405+
var department string
406+
var created time.Time
407+
err = rows.Scan(&uid, &username, &department, &created)
408+
checkErr(err)
409+
fmt.Println(uid)
410+
fmt.Println(username)
411+
fmt.Println(department)
412+
fmt.Println(created)
413+
}
414+
415+
//删除数据
416+
stmt, err = db.Prepare("delete from userinfo where uid=?")
417+
checkErr(err)
418+
419+
res, err = stmt.Exec(id)
420+
checkErr(err)
421+
422+
affect, err = res.RowsAffected()
423+
checkErr(err)
424+
425+
fmt.Println(affect)
426+
427+
db.Close()
428+
429+
}
430+
431+
func checkErr(err error) {
432+
if err != nil {
433+
panic(err)
434+
}
435+
}
436+
```
437+
438+
可以看到上面的代码和MySQL中的基本一样,唯一改变的就是导入的驱动改变了,然后调用sql.Open是采用了SQLite的方式打开。
439+
354440

355441

356442

MySQL简介/1.MySQL简介(一).md

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
MySQL简介(一)
2+
===
3+
4+
[Beego](https://github.com/astaxie/beego)是一个`go web`的开发框架。
5+
6+
7+
8+
9+
10+
11+
12+
---
13+
14+
- 邮箱 :charon.chui@gmail.com
15+
- Good Luck!

0 commit comments

Comments
 (0)