# Connection

## Usage

Developers can create a database connection on their own:

```go
package main

import (
	"database/sql"
	_ "github.com/mattn/go-sqlite3"
)

func main() {	
	db, err := sql.Open("sqlite3", "./test.db")
	if err == nil {
		defer db.Close()
	}
	//...
}
```

or use a property file:

```go
package main

import (
	"github.com/doytowin/goooqo/rdb"
	_ "github.com/mattn/go-sqlite3"
)

func main() {
	db := rdb.Connect("app-sqlite3.properties")
	defer rdb.Disconnect(db)
	//...
}
```

## Property Format

The property file contains the parameters for different databases.

{% code title="app-sqlite3.properties" %}

```properties
driver=sqlite3
data_source=./test.db
```

{% endcode %}

{% code title="app-mysql.properties" %}

```properties
driver=mysql
mysql_url=tcp(localhost:3306)/demo?charset=utf8mb4&parseTime=true
mysql_username=root
mysql_password=root
```

{% endcode %}

More properties will be supported after the [dialect](https://goooqo.docs.doyto.win/advanced/dialect) feature is ready.
