Entity for D 2.5.0 发布,D 语言 ORM 实现

栏目: 软件资讯 · 发布时间: 6年前

内容简介:Entity 是 D语言( DLang )数据库操作 ORM 框架,设计参照 javax JPA 实现,具有很好的扩展性和规范性,数据库驱动依赖 HuntLabs 开发的原生数据库驱动库 hunt-database 。 特性 实现了完整的 CriteriaQuery 支持 ...

Entity 是 D语言( DLang )数据库操作 ORM 框架,设计参照 javax JPA 实现,具有很好的扩展性和规范性,数据库驱动依赖 HuntLabs 开发的原生数据库驱动库 hunt-database

特性

  1. 实现了完整的 CriteriaQuery 支持

  2. 标准化 Repository 使用封装

  3. 完全对象化查询,不用考虑底层数据库驱动

  4. 实现 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); // 输出作者名字
}

 


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Linux内核完全剖析

Linux内核完全剖析

赵炯 / 机械工业出版社 / 2008.10 / 99.00元

本书对早期Linux内核(v0.12)全部代码文件进行了详细、全面的注释和说明,旨在帮助读者用较短的时间对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,介绍了Linux的历史,同时着重说明了各个内核版本的主要区别和改进,给出了......一起来看看 《Linux内核完全剖析》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具