Go官方没有提供数据库驱动,而是为开发数据库驱动定义了一些标准接口,开发者可以根据定义的接口来开发相应的数据库驱动。
$mysql -h <service ip> -u root -p
sql
use test;
mysql> create database test;
mysql> use test;
Database changed
mysql>
CREATE TABLE `userinfo` (
`uid` INT(10) NOT NULL AUTO_INCREMENT,
`username` VARCHAR(64) NULL DEFAULT NULL,
`department` VARCHAR(64) NULL DEFAULT NULL,
`created` DATE NULL DEFAULT NULL,
PRIMARY KEY (`uid`)
);
mysql>
CREATE TABLE `userdetail` (
`uid` INT(10) NOT NULL DEFAULT '0',
`intro` TEXT NULL,
`profile` TEXT NULL,
PRIMARY KEY (`uid`)
);
$ src/redis-cli -h 10.152.183.202
10.152.183.202:6379> set name abc
OK
$ source export.sh
$ go get -u github.com/go-sql-driver/mysql // for mysql
$ go get -u github.com/astaxie/beego //for ORM
$ go get -u github.com/gomodule/redigo/redis
- mysql.go sql 语句 + rowset 模式
- ORM.go MySQL/ORM
- redis.go
- ORM 即在关系型数据库和业务实体对象之间作一个映射,这样,我们在具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了。常见的ORM框架有:Hibernate、TopLink、Castor JDO、Apache OJB等。
- 使用ORM就不用事先去create/modify table了,它是根据程序中object的变化,自动生成匹配的命令去修改数据库。
- 至少beego的 ORM 是比较原始的,其他的ORM框架没有用过,但只要sql->代码的mapping 不流畅,可用性就不会很高。