windows 安装Go 环境 搭建Mysql数据库连接

  1. 云栖社区>
  2. 博客>
  3. 正文

windows 安装Go 环境 搭建Mysql数据库连接

freegolang 2013-03-04 15:54:00 浏览644
展开阅读全文

在linux 上做go 环境搭建 已经可以了。并且 连接上了 mysql 数据库。

 

但是 开发 还是 在windows 上面的比较多。所以要研究下 windows 下如何弄 。

 

需要使用一个 mingw 的环境 。 要使用make 命令

 

 

官网: http://www.mingw.org/

 

下载

 

http://sourceforge.net/projects/mingw/files/

 

安装:

 


 



 安装 基本编译环境。

 


开始下载文件。

 

然后下载 golang windows 版本:

 

http://code.google.com/p/gomingw/downloads/list 

 

一定要 386的版本。。即使你是 64 位系统。因为 在make 编译 mysql的时候发现 需要 386 的编译命令 “8g”

 

下载  gowin386_release.r60.3.zip 

 

设置 环境变量:

 



 
 下载  GoMysql

 

 

https://github.com/Philio/GoMySQL

 

然后进入 GoMysql 使用 mingw 命令行 

 

最重要的 两步 !!

 

执行  

 

make

make install

 



然后 进入 安装 eclipse 插件。

 

设置路径:

 


 

创建一个工程编写如下代码:

 

 

package main

import "fmt"
import "os"
import "mysql"

func main() {
	fmt.Print("hell")
	// Connect to database
	db, err := mysql.DialTCP("127.0.0.1", "root", "root", "stock")
	if err != nil {
		fmt.Print("conn error")
		os.Exit(1)
	}
	// Perform query
	err = db.Query("select stock_id,stock_code,stock_name from stock")
	if err != nil {
		fmt.Print("query error")
		os.Exit(1)
	}
	// Get result seta
	result, err := db.UseResult()
	if err != nil {
		os.Exit(1)
	}
	// Get each row from the result and perform some processing
	for {
		row := result.FetchRow()
		if row == nil {
			break
		}
		//id := row[0].(uint64)
		num, str1, str2 := row[0].(int64), row[1].(string), row[2].(string)
		fmt.Println(" out:", num, str1, str2)

	}
}

 

修改了下代码。显示数据库记录:

 

数据库表结构:

 

 

CREATE TABLE `stock` (
  `stock_id` int(11) NOT NULL AUTO_INCREMENT,
  `stock_code` varchar(10) NOT NULL,
  `stock_name` varchar(20) NOT NULL,
  PRIMARY KEY (`stock_id`)
) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=gbk 
 

 含义 连接 mysql 数据库 stock 查询  表 stock 查询 出 2条记录 打印 2 个 hello。

 

 


 

成功在 eclipse 里面 编译 打印信息。测试成功。非常高兴。

 

 

 

基本上 使用 golang 编写的程序 接近 c 。速度非常的快。并且 好好的利用 chan 函数编程可以写些 并发高的 服务程序。

 

 

继续研究 golang 语言。

 

 

搭建windows 主要目的是 可以再windows 下面开发。主要 部署程序还是在linunx 下面进行。运行效率要高。

 

 

网友评论

登录后评论
0/500
评论
freegolang
+ 关注