On Monday, 2 February 2015 at 04:00:31 UTC, Vadim Lopatin wrote:
I would like to propose Java way for implementation of DB access (JDBC - Java DataBase Connectors).

Standard library must contain only
* set of interfaces for uniform DB access
* Connection - can create Statement or PreparedStatement, control transactions
    * Statement - can run update or query
    * PreparedStatement - same as Statement, but with parameters
    * ResultSet - DB query result row access
    * DataSource - can create connections, w/o parameters
* Driver - interface which implements connection factory for particular DB types
    * Some useful classes like ConnectionPool
* factory method to create connection by URL and parameter set
* some method to register DB driver for factory - e.g. when called from driver's module __gshared static this()

Drivers may be placed in separate packages in standard library or in some DUB packages.

Look at https://github.com/buggins/ddbc
Currently it contains drivers for sqlite, MySQL and PostgreSQL.


If Andrey/Walter wish, I can prepare pool request based on code from ddbc.

Best regards,
     Vadim

Yep this is way to go, I have start implementing JPA for Dlang(ddpa - dlang data persistence api):

@Entity
@(Table.name("nazev_tabulky").schema("nazev_schema"))
class C
{
    @Id @(GeneratedValue.strategy(GenerationType.IDENTITY))
    long id;

    auto getId()
    {
        return this.id;
    }

    void setId(long id)
    {
        this.id = id;
    }
}

void main() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("test");
    EntityManager em = emf.createEntityManager();
    C obj = em.find!C(1);
}

Reply via email to