golang 操作mysql测试用例
2014-02-14 09:39
483 查看
package main import ( "fmt" "database/sql" _ "github.com/go-sql-driver/mysql" ) type TestMysql struct { db * sql.DB } func Init()(*TestMysql, error) { test := new (TestMysql) db, err := sql.Open("mysql","root:@tcp(172.16.3.8:3306)/jackma?charset=utf8") if err != nil { fmt.Println(err.Error()) return test,nil } test.db = db return test, nil } func (test* TestMysql)Create(){ if test.db == nil { return } stmt , err := test.db.Prepare("insert into test(name, id) values (?, ?)") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() if result, err := stmt.Exec("jack",20); err == nil { if id, err := result.LastInsertId(); err == nil { fmt.Println("insert id :",id) } } if result, err := stmt.Exec("jack2",30); err == nil { if id, err := result.LastInsertId(); err == nil { fmt.Println("insert id :",id) } } if result, err := stmt.Exec("jack3",40); err == nil { if id, err := result.LastInsertId(); err == nil { fmt.Println("insert id :",id) } } if result, err := stmt.Exec("jack4",60); err == nil { if id, err := result.LastInsertId(); err == nil { fmt.Println("insert id :",id) } } } func (test *TestMysql)Update(){ if(test.db == nil){ return } stmt, err := test.db.Prepare("update test set name =? where id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() if result, err := stmt.Exec("jackma4888",60); err == nil { if c, err := result.RowsAffected(); err == nil { fmt.Println("update count:",c) } } } func (test* TestMysql)Read(){ if test.db == nil{ return } rows , err := test.db.Query("select id, name from test") if err != nil { fmt.Println(err.Error()) return } defer rows.Close() fmt.Println("") clos, _ := rows.Columns() for i := range clos { fmt.Print(clos[i]) fmt.Print("\t") } fmt.Println("") var id int; var name string; for rows.Next() { if err := rows.Scan(&id, &name); err != nil { fmt.Print(id) fmt.Print("\t") fmt.Print(name) fmt.Print("\t") fmt.Print("\t\r\n") } } } func (test *TestMysql) Delete(){ if test.db == nil{ return } stmt , err := test.db.Prepare("delete from test where id = ?") if err != nil { fmt.Println(err.Error()) return } defer stmt.Close() if result, err := stmt.Exec(20); err == nil { if c, err := result.RowsAffected(); err == nil { fmt.Println("delete count :",c) } } } func (test *TestMysql)Close(){ if test.db != nil { test.db.Close() } } func main(){ if test, err := Init(); err == nil { fmt.Println("create:") test.Create() fmt.Println("update:") test.Update() fmt.Println("read:") test.Read() fmt.Println("delete:") test.Delete() test.Read() fmt.Println("close:") test.Close() } }
相关文章推荐
- golang连接mysql操作示例增删改查(已经测试)
- mysql自带测试用例集mysql_client_test的使用
- Unittest操作简单实例进行系统讲解测试用例
- golang连接mysql操作及动态连接池设置
- golang使用go-sql-driver实现mysql增删改操作 推荐
- MySQL数据表相关操作-创建与测试数据类型
- 【代码】C++实现二叉树基本操作及测试用例
- 增加操作测试用例
- golang连接mysql操作示例增删改查
- SQL数据库基本操作,mysql为测试环境。
- MySQL 窗口命令实战操作整理文档 - by kiwi - 测试ko版
- unittest测试用例带有setUp、两个测试函数操作实例
- MySQL 复制+快照恢复误删除操作实验测试
- golang的mysql操作
- php操作mysql事务深度测试-老默
- 数据库基本操作小摘(代码由mysql-essential-5.1.50-win32测试通过)
- 数据库基本操作小摘(代码由mysql-essential-5.1.50-win32测试通过)
- 性能测试工具操作数据库(一)-Loadrunner与Mysql
- 性能测试工具操作数据库(一)-Loadrunner与Mysql
- 删除操作测试用例