H1 2015 - db access support in Phobos

Daniel Kozak via Digitalmars-d digitalmars-d at puremagic.com
Tue Feb 3 00:23:55 PST 2015


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);
}



More information about the Digitalmars-d mailing list