IMPORTANT: Beedb este depreciat in favoarea Beego.orm ❗

Beedb este un ORM pentru Go. Va permite sa mapati structurile Go la tabelele dintr-o baza de date. Se intentioneaza sa fie foarte usor, facand foarte putin dincolo de ceea ce vrei cu adevarat. De exemplu, atunci cand preluati date, in loc sa reinventam o sintaxa a interogarii, delegam doar interogarea dvs. in baza de date de baza, astfel incat sa puteti scrie direct clauza „unde” a instructiunilor SQL. Acest lucru va permite sa aveti mai multa flexibilitate in timp ce va ofera un strat de confort. Dar beedb are si unele valori implicite inteligente, pentru acele momente in care interogarile complexe nu sunt necesare.

In prezent, se interfata cu Mysql / SQLite / PostgreSQL / DB2 / MS ADODB / ODBC / Oracle. Cu toate acestea, obiectivul este de a adauga suport pentru alte baze de date in viitor, inclusiv MongoDb sau NoSQL?

Asistenta pentru relatii nu este implementata, pentru aceasta va recomandam sa utilizati Beego.orm.

Una peste alta, inca nu este complet pregatit pentru utilizare avansata, dar ajunge acolo.

Pachetul sql al driverelor pentru Go care accepta baza de date / sql include:

Mysql: github.com/ziutek/mymysql/godrv [*]

Mysql: github.com/Go-SQL-Driver/MySQL [*]

PostgreSQL: github.com/bmizerany/pq [*]

SQLite: github.com/mattn/go-sqlite3 [*]

DB2: bitbucket.org/phiggins/go-db2-cli

MS ADODB: github.com/mattn/go-adodb[*]

ODBC: bitbucket.org/miquella/mgodbc[*]

Oracle: github.com/mattn/go-oci8

Driverele marcate cu [*] sunt testate cu Beedb

Interfata API

wiki / API-Interface

Instalarea Beedb

du-te sa iei github.com/astaxie/beedb

Cum il folosim?

Deschideti un link de baza de date (poate fi compatibil ConnectionPool in viitor)

db, err: = sql.Open (“mymysql”, “test / xiemengjun / 123456”) if err! = zero {panic (err)} orm: = beedb.New (db)

cu PostgreSQL,

orm: = beedb.Nou (db, “pg”)

Deschideti jurnalul de depanare, activati depanarea

Modeleaza o structura dupa un tabel in db

tastati Userinfo struct {Uid int `beedb:” PK “sql:” UID “tname:” USER_INFO “` // daca PrimaryKey al tabelei nu este “Id”, utilizati aceasta eticheta Sir de nume de utilizator `sql:” NUME DE UTILIZARE “` Sir de nume de departare ` sql: “DEPARTNAME” `Time created.Time` sql: “CREATED” `}

### Atentie Structurile Name ‘UserInfo’ se vor transforma in numele tabelului ‘USER_INFO’, asa cum este definit de eticheta tname . Daca cheia „UserName” se va transforma in coloana selectata „USERNAME” din cauza etichetei sql .

Creati un obiect si salvati-l

var saveone Userinfo saveone.Username = “Testare Adaugare Utilizator” saveone.Departname = “Testare Adaugare Nume” saveone.Created = time.Now () orm.Save (& saveone)

Salvarea obiectelor noi si existente

saveone.Username = “Actualizati numele de utilizator” saveone.Departname = “Actualizati numele departamentului” saveone.

sexo en directo pajas trans
halle berry desnuda pelis porno españolas
maduras tragando semen maduras americanas
descargar peliculas porno incesto madre hijos
guarras.com trio por sorpresa
porno casadas españolas xxx torrent magnet
maduras folladoras incesto jovencitas
aventura en pelotas xxx abuelas a cuatro patas
maduras americanas porno español dinero
abuela porno pillados follando
folladas salvajes videos heroticos
follando rico suegras españolas follando
porno en cine convencional pilladas cagando
potno viejas muy calientes
porno español jovencita porno por el culo
folladas caseras reales travestis meando
moras follando mujeres peludas follando
porno madres peludas peliculas porno traducidas al castellano
se deja follar peliculas eroticas alemanas
mujeres tetudas videos porno trios español

Created = time.Now () orm.Save (& saveone) // acum saveone are valoarea cheii primare pe care o va actualiza

Aduceti un singur obiect

var user Userinfo orm.Where (“uid =?”, 27) .Find (& user) var user2 Userinfo orm.Where (3) .Find (& user2) // aceasta este o prescurtare pentru versiunea de mai sus var user3 Userinfo orm.Where ( “nume =?”, “john”). Gasiti (& user3) // interogare mai complexa var user4 Userinfo orm.Where (“name =? and age <?”, “john”, 88). Find (& user4) // chiar mai complex

Obtineti mai multe obiecte

var allusers [] Userinfo err: = orm.Where (“id>?”, “3”). Limit (10,20). FindAll (& allusers) // Get id> 3 limit 10 offset 20 var tenusers [] Userinfo err : = orm.Where (“id>?”, “3”). Limit (10) .FindAll (& tenusers) // Get id> 3 limit 10 if omit offset the default is 0 var toata lumea [] Userinfo err: = orm .FindAll (si toata lumea)

Gasiti rezultatul ca harta

// Rezultate originale SQL Backinfo Slice [] harta [sir] [] octet // implicit PrimaryKey id a, _: = orm.SetTable (“userinfo”). SetPK (“uid”). Unde (2). , nume de utilizator “). FindMap ()

Actualizati cu Harta

t: = make (map [string] interface {}) var j interface {} j = “astaxie” t [“username”] = j // update one orm.SetTable (“userinfo”). SetPK (“uid”) .Unde (2) .Actualizare (t)

Actualizati lotul cu Harta

orm.SetTable (“userinfo”). Unde (“uid>?”, 3). Actualizare (t)

Introduceti date cu Harta

add: = make (map [string] interface {}) j = “astaxie” add [“username”] = jj = “cloud develop” add [“departname”] = jj = “2012-12-02″ add [” creat “] = j orm.SetTable (” userinfo “). Inserati (adaugati)

Introduceti lotul cu harta

addlice: = make ([] map [string] interface {}) add: = make (map [string] interface {}) add2: = make (map [string] interface {}) j = “astaxie” add [“username “] = jj =” cloud develop “add [” departname “] = jj =” 2012-12-02 “add [” created “] = jj =” astaxie2 “add2 [” username “] = jj =” cloud develop2 ” add2 [“departname”] = jj = “2012-12-02” add2 [“created”] = j addlice = addend (addlice, add, add2) orm.SetTable (“userinfo”). Insert (addlice)

Alaturati-va mesei

a, _: = orm.SetTable (“userinfo”). Join (“STANGA”, “userdeatail”, “userinfo.uid = userdeatail.uid”). Unde (“userinfo.uid =?”, 1). Selectati ( „userinfo.uid, userinfo.username, userdeatail.profile”). FindMap ()

Grupati si aveti

a, _: = orm.SetTable (“userinfo”). GroupBy (“username”). Avand (“username = ‘astaxie'”). FindMap ()

Modele de cuibarire (in linie)

tastati SQLModel struct {Id int `beedb:” PK “sql:” id “` Time created.Time `sql:” created “` Modified time.Time `sql:” modified “`} type User user {SQLModel `sql:” , inline “` Name string `sql:” name “tname:” fn_group “` Auth int `sql:” auth “`} // tabelul SQL are coloanele: id, nume, auth, creat, modificat // Acestea sunt divizat si anulat automat din cauza cuvantului cheie in linie

LICENTA

Licenta BSD http://creativecommons.org/licenses/BSD/