【技术实现步骤摘要】
代码生成方法、装置、设备及存储介质
[0001]本公开涉及数据处理
,尤其涉及数据库
,具体涉及一种代码生成方法、装置、设备及存储介质。
技术介绍
[0002]应用程序通常需要将数据存储在用户设备上,例如存储于本地数据库中。对于一个具体业务,需要在数据库里创建一个数据表,表结构与业务所需的数据结构相对应,应用程序可以通过SQL(Structured Query Language)语句对数据库中的业务数据进行增加、删除、修改或查询。
技术实现思路
[0003]本公开提供了一种代码生成方法、装置、设备及存储介质。
[0004]根据本公开的一方面,提供了一种代码生成方法,包括:基于数据表描述信息,确定表结构信息以及查询函数描述信息,其中,表结构信息包括业务数据库中的数据表的相关信息,查询函数描述信息包括用于业务端调用的查询函数的相关信息,且表结构信息和查询函数描述信息均记录于数据表描述信息中;
[0005]基于表结构信息,生成数据结构声明;
[0006]基于表结构信息以及查询函数描述信息,生成查询函数的实现代码;
[0007]基于数据结构声明以及查询函数的实现代码,生成目标代码,目标代码用于实现业务端对业务数据库的访问。
[0008]根据本公开的另一方面,提供了一种代码生成装置,包括:确定单元,用于基于数据表描述信息,确定表结构信息以及查询函数描述信息,其中,表结构信息包括业务数据库中的数据表的相关信息,查询函数描述信息包括用于业务端调用的查询函数的相关信 ...
【技术保护点】
【技术特征摘要】
1.一种代码生成方法,包括:基于数据表描述信息,确定表结构信息以及查询函数描述信息,其中,所述表结构信息包括业务数据库中的数据表的相关信息,所述查询函数描述信息包括用于业务端调用的查询函数的相关信息,且所述表结构信息和所述查询函数描述信息均记录于所述数据表描述信息中;基于所述表结构信息,生成数据结构声明;基于所述表结构信息以及所述查询函数描述信息,生成所述查询函数的实现代码;基于所述数据结构声明以及所述查询函数的实现代码,生成目标代码,所述目标代码用于实现所述业务端对所述业务数据库的访问。2.根据权利要求1所述的方法,其中,基于所述表结构信息,生成数据结构声明,包括:基于所述表结构信息,确定所述数据表中字段的字段名以及所述字段对应的字段类型;基于所述字段名以及所述字段类型,生成所述数据结构声明。3.根据权利要求1或2所述的方法,其中,所述查询函数描述信息包括所述查询函数以及所述查询函数对应的查询语句描述;基于所述表结构信息以及所述查询函数描述信息,生成所述查询函数的实现代码,包括:基于所述表结构信息以及所述查询函数描述信息,生成所述查询语句描述对应的查询语句;基于所述查询语句描述,对所述查询函数的输入参数进行参数绑定,得到参数绑定函数;基于所述查询语句以及所述参数绑定函数,生成所述查询函数的实现代码。4.根据权利要求3所述的方法,其中,基于所述表结构信息以及所述查询函数描述信息,生成所述查询语句描述对应的查询语句,包括:基于所述表结构信息以及所述查询语句描述,确定第一表名以及第一字段名,其中,所述第一表名为所述查询语句描述中所涉及的所述数据表的名称,所述第一字段名为所述查询语句描述中所涉及的所述数据表中字段的名称;基于所述查询语句描述,确定所述查询函数的所述输入参数;基于所述第一表名、所述第一字段名以及所述输入参数,生成所述查询语句。5.根据权利要求3或4所述的方法,其中,在所述查询函数需要向所述业务端返回查询结果的情况下,基于所述表结构信息以及所述查询函数描述信息,生成所述查询函数的实现代码,还包括:基于所述查询语句描述,确定所述查询函数的输出参数;基于所述输出参数,生成用于返回所述查询结果的返回函数;基于所述查询语句以及所述参数绑定函数,生成所述查询函数的实现代码,包括:基于所述查询语句、所述参数绑定函数以及所述返回函数,生成所述查询函数的实现代码。6.根据权利要求1
‑
5中任一项所述的方法,所述数据表描述信息还包括所述业务数据库的当前版本信息;所述方法还包括:
基于更新数据,确定更新数据的目标版本信息以及所述更新数据中各个目标数据表的第一子版本信息;基于所述各个目标数据表的第一子版本信息以及所述当前版本信息,对所述业务数据库进行更新;基于所述目标版本信息,对所述当前版本信息进行更新。7.根据权利要求6所述的方法,其中,基于所述各个目标数据表的第一子版本信息以及所述当前版本信息,对所述业务数据库进行更新,包括:针对所述各个目标数据表中的第一目标数据表,在所述第一目标数据表的第一子版本信息高于所述当前版本信息的情况下,在所述业务数据库中创建所述第一目标数据表。8.根据权利要求6或7所述的方法,所述方法还包括:针对所述各个目标数据表中的第二目标数据表,基于所述更新数据,确定所述第二目标数据表中的各个目标字段的第二子版本信息;针对所述各个目标字段中的第一目标字段,在所述第一目标字段的第二子版本信息高于所述当前版本信息的情况下,在所述业务数据库中的与所述第二目标数据表对应的数据表中创建所述第一目标字段。9.根据权利要求6
‑
8中任一项所述的方法,其中,所述数据表描述信息还包括所述业务数据库中的数据表的第一创建版本信息以及所述数据表中的字段的第二创建版本信息。10.根据权利要求1
‑
9中任一项所述的方法,所述方法还包括:基于所述表结构信息,生成通用函数的实现代码;基于所述数据结构声明以及所述查询函数的实现代码,生成目标代码,包括:基于所述数据结构声明、所述通用函数的实现代码以及所述查询函数的实现代码,生成目标代码。11.一种代码生成装置,包括:确定单元,用于基于数据表描述信息,确定表结构信息以及查询函数描述信息,其中,所述表结构信息包括业务数据库中的数据表的相关信息,所述查询函数描述信息包括用于业务端调用的查询函数的相关信息,且所述表结构...
【专利技术属性】
技术研发人员:韩显涛,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。