GODataset - Biblioteca Go para facilitar a interação com bancos de dados e manipulação de dados via dataset, inspirada em conceitos de datasets de outras linguagens, mas com a simplicidade e performance do Go.
O GoDataset abstrai operações comuns de manipulação de dados, permitindo trabalhar com registros, campos e navegação de forma eficiente. Ideal para aplicações que precisam de flexibilidade e produtividade ao lidar com diferentes bancos de dados.
Requer Go 1.18 ou superior.
go get github.com/seuusuario/godatasetconnectStr := "oracle://erp:pass123@DESKTOP-DEV:1521/xe"
db, err := NewConnection(DialectType(ORACLE), connectStr)
if err != nil {
log.Fatal(err)
}
defer db.Close()
ds := NewDataSet(db)
err = ds.
AddSql("SELECT ID, NAME FROM PEOPLE").
AddSql("WHERE ID BETWEEN :idStart AND :idEnd").
SetInputParam("idStart", 20).
SetInputParam("idEnd", 100).
Open()
if err != nil {
log.Fatal(err)
}
fmt.Println(ds.Count())
ds.First()
for !ds.Eof() {
fmt.Println(ds.FieldByName("NAME").AsString())
ds.Next()
}NewDataSet(db *Conn) *DataSetNewDataSetTx(tx *Transaction) *DataSet(*DataSet) AddSql(sql string) *DataSet(*DataSet) SetInputParam(paramName string, paramValue any) *DataSet(*DataSet) Open() error(*DataSet) Exec() (sql.Result, error)(*DataSet) FieldByName(fieldName string) *Field(*DataSet) First(),Next(),Previous(),Last()(*DataSet) Eof() bool,Bof() bool,IsEmpty() bool,Count() int(*DataSet) ToStruct(model any) error
Veja a documentação completa no código-fonte para todos os métodos disponíveis.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
- Fork este repositório
- Crie uma branch para sua feature (
git checkout -b feature/nome-feature) - Commit suas alterações (
git commit -am 'Adiciona nova feature') - Push para a branch (
git push origin feature/nome-feature) - Abra um Pull Request
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Carlos Fitl
Sinta-se à vontade para sugerir melhorias ou reportar problemas!