Skip to content

tt7/go_mysql_tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go_mysql_tools

common db operation patterns (esp. for mysql)

Sample Usage

  import gmtools "github.com/tt7/go_mysql_tools"
  
  dbcfg, err := gmtools.ReadConfigFromJsonFile(configFilename)
  if err!= nil{
    /* ... */
  }
  
  err = gmtools.UseDb(dbcfg, func(db *sql.DB) error {
    if err:=doSomething(); err != nil{
      return err
    }
    return nil
  })
  /* process err ... */
  
  //query
  err = gmtools.QueryDb(db,
    "select a,b,c,d from `sometable` where a=? or b=?",
    []interface{}{1, 2},
    func(rowno int, rows *sql.Rows) error{
      var a,b,c,d int
      err := rows.Scan(&a, &b, &c, &d)
      /* ... */
      return nil  
  })
  
  // transaction
  err = gmtools.InTxWithDB(db, []func(tx *sql.Tx) error {
    func(tx *sql.Tx) error{
      /* do some thing first */
    },
    func(tx *sql.Tx) error{
      /* do some other things */
    }})

About

simple mysql op patterns for golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages