nurjay 发表于 2025-4-24 23:40:10

希望继续完善,有几个疑虑
1、你或者也要定义数据模型吗?定义的方法跟火山go一样吗?
2、事务操作功能如何?
3、连接池管理数据库连接

龙纹 发表于 2025-4-25 05:12:00

nurjay 发表于 2025-4-24 23:40
希望继续完善,有几个疑虑
1、你或者也要定义数据模型吗?定义的方法跟火山go一样吗?
2、事务操作功能如何 ...

1、需要定义一个映射类,下面是定义代码:
<火山程序 类型 = "通常" 版本 = 1 />

类 个人信息 <公开 注释 = "类和成员变量名的输出名一定要改!!!" @输出名 = "person">
{

    # @begin
    # // 注册自增主键,类名(主键字段名)
    # REGISTER_AUTO_KEY(person, id)
    # // 注册冲突主键,类名(冲突主键字段名)
    # // REGISTER_CONFLICT_KEY(person, name)
    # // REGISTER_CONFLICT_KEY(person, name, age) // 如果是多个
    #
    # // 生成映射类所需的一些信息,这里填入 类名(字段名1,字段名2,...)
    # YLT_REFL(person, id, age, name)
    # @end
    #

    变量 id <公开 类型 = 整数 @输出名 = "id">
    变量 age <公开 类型 = 整数 @输出名 = "age">
    变量 name <公开 类型 = 标准文本类 @输出名 = "name">

    #
}

类 个人信息数组类 <公开 基础类 = 标准数组模板类 @模板实现类 = "个人信息">
{

    #
}
此外还有其他操作,比如表名能设置别名,不强制要求跟类输出名一致,字段同样,可以参考Github项目内的示例。

2、已经封装了开始事务、提交事务、回滚。

3、Github项目是支持连接池的,只是暂未封装。

龙纹 发表于 2025-4-25 11:33:26

已经更新,现在支持SQLite3、MySQL、PostgreSQL三种数据库随意切换

jcos 发表于 2025-4-25 11:59:10

:victory:
超级牛X666

Xelloss0618 发表于 2025-4-25 12:09:16

龙纹 发表于 2025-4-25 11:33
已经更新,现在支持SQLite3、MySQL、PostgreSQL三种数据库随意切换

模块安装包写错了,安装到安卓那边了……

龙纹 发表于 2025-4-25 12:27:40

Xelloss0618 发表于 2025-4-25 12:09
模块安装包写错了,安装到安卓那边了……

谢谢提醒,晚点重新更新。
顺便问一下,@别名类型-本地类,好像没办法支持嵌套?
实现类是sqlite3、mysql、pg,模板类dbng<sqlite|mysql|pg>是适配器,是不是只能把所有重复方法在每个类都写一遍。

michardhl 发表于 2025-4-25 12:28:25

大佬,连接池可否加上?

龙纹 发表于 2025-4-25 12:29:30

michardhl 发表于 2025-4-25 12:28
大佬,连接池可否加上?

我得再找时间思考一下如何把连接池封装进来

Xelloss0618 发表于 2025-4-25 12:43:52

龙纹 发表于 2025-4-25 12:27
谢谢提醒,晚点重新更新。
顺便问一下,@别名类型-本地类,好像没办法支持嵌套?
实现类是sqlite3、mysql ...

可以用模板基础类的,也可以用个基类写重复的方法,然后继承它,在实现类写上别名即可。
基类我建议你随便写个别名,比如"\\",避免出现对象类那些方法。

yifan09 发表于 2025-4-25 14:03:45

支持
页: 1 [2] 3 4
查看完整版本: ORM类库,用新语法重新封装了一遍