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