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
支持