内容简介:Entity 是 D语言( DLang )数据库操作 ORM 框架,设计参照 javax JPA 实现,具有很好的扩展性和规范性,数据库驱动依赖 HuntLabs 开发的原生数据库驱动库 hunt-database 。 特性 实现了完整的 CriteriaQuery 支持 ...
Entity 是 D语言( DLang )数据库操作 ORM 框架,设计参照 javax JPA 实现,具有很好的扩展性和规范性,数据库驱动依赖 HuntLabs 开发的原生数据库驱动库 hunt-database 。
特性
-
实现了完整的 CriteriaQuery 支持
-
标准化 Repository 使用封装
-
完全对象化查询,不用考虑底层数据库驱动
-
实现 EQL(Entity Query Language)实现对象化 SQL 查询语言
支持的数据库
-
PostgreSQL 9.0+
-
MySQL 5.1+
本次主要更新内容
-
针对 EQL 进行增强
-
简化联表查询
-
重构数据库连接池部分
-
使用全新的 hunt-database
-
移除 libmysql / libpg 依赖,使用 DLang 重构数据库驱动层
-
修复部分已知问题
使用示例
用户模型
module app.model.User;
import hunt.entity;
@Table("users")
class User : Model
{
mixin MakeModel;
@AutoIncrement
@PrimaryKey
int id;
string name;
int created;
int updated;
}
文章模型
module app.model.Post;
import hunt.entity;
import app.model.User;
@Table("posts")
class Post : Model
{
mixin MakeModel;
@AutoIncrement
@PrimaryKey
int id;
string title;
int uid;
@JoinColumn("uid")
User user;
string content;
int status;
int created;
int updated;
}
使用 EQL 进行条件查询
// 通过 EQL 查询出 10 条文章,最新发表的排在前面
auto query = em.createQuery!(Post)("SELECT p FROM Post p WHERE p.status = 1 ORDER BY p.created DESC limit 10");
foreach (post; query.getResultList())
{
logDebug(post.title); // 打印文章标题
logDebug(post.user.name); // 输出作者名字
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《10%创业家》
[美] 帕特里克•J.麦金尼斯 / 李文远 / 广东人民出版社 / 2017-4 / 45.00
还在打工和创业之间苦苦挣扎吗?麦金尼斯用亲身经历告诉你,不用辞职,只需投入10%的时间和资源,就能获得100%的财务自由。你不需要雄厚的资本,也不必占用工作时间,只要准确掌握本书所授的方法,就能立即开始创业。 麦金尼斯是世界银行风投顾问,同时也是一名10%创业家。在本书中,他结合自身的创业咨询经历,为读者讲解了移动互联时代的5种创业模式,还提供了创业基因测试、10%创业计划、自传模板等个性化......一起来看看 《《10%创业家》》 这本书的介绍吧!