@H_403_0@2.将这个包放到code.google.com目录下(放在哪里无所谓,只要你能够让程序找到就行) @H_403_0@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比起来,将加载驱动和连接数据库写到了一个方法中,省了很多代码。 @H_403_0@ 这个只是简单的一点尝试,如果有时间,要看看比较复杂一些的操作是不是也支持。