MysqL是一个入门很简单也很实用的数据库,目前也可以跟很多编程语言联合编程。go语言虽然很年轻,但是貌似追赶潮流永远都有它。刚试了下go语言操作MysqL数据库,貌似代码量比实用java要少很多,挺爽的。
1.下载驱动
https://github.com/go-sql-driver/MysqL
2.将这个包放到code.google.com目录下(放在哪里无所谓,只要你能够让程序找到就行)
3.编写简单的测试程序
- package main
- import (
- _ "code.google.com/MysqL"
- "database/sql"
- "fmt"
- )
- func main() {
- //format "user:password@tcp(ip:port)/database"
- db,err := sql.Open("MysqL","root:@tcp(127.0.0.1:3306)/test?charset=utf8")
- if err != nil {
- fmt.Println("error in connect ",err.Error())
- return
- }
- fmt.Println("connect ok")
- rows,err := db.Query("select * from stu")
- if err != nil {
- fmt.Println("error in select ",err.Error())
- return
- }
- if rows == nil {
- fmt.Println("rows is nil")
- return
- }
- for rows.Next() {
- var u,p string
- e := rows.Scan(&u,&p)
- if e != nil {
- fmt.Println("err",e.Error())
- return
- }
- fmt.Println(u," ",p)
- }
- }
按照我的理解,sql.Open方法中,第一个参数就是驱动,就是刚才我们添加的那个包。我们只是引入进来,所以import的第一行便是驱动程序。容易出错的就是第二个参数,格式跟java写起来区别还蛮大的,不过,基本上按照上述格式写也是没有错误的。跟JDBC比起来,将加载驱动和连接数据库写到了一个方法中,省了很多代码。
这个只是简单的一点尝试,如果有时间,要看看比较复杂一些的操作是不是也支持。