CN105488147A - 一种基于sql模板的持久化方法 - Google Patents

一种基于sql模板的持久化方法 Download PDF

Info

Publication number
CN105488147A
CN105488147A CN201510837539.7A CN201510837539A CN105488147A CN 105488147 A CN105488147 A CN 105488147A CN 201510837539 A CN201510837539 A CN 201510837539A CN 105488147 A CN105488147 A CN 105488147A
Authority
CN
China
Prior art keywords
sql
template
parameter
data access
persistence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510837539.7A
Other languages
English (en)
Inventor
苏祖辉
支兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing LES Information Technology Co. Ltd
Original Assignee
Nanjing LES Information Technology Co. Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing LES Information Technology Co. Ltd filed Critical Nanjing LES Information Technology Co. Ltd
Priority to CN201510837539.7A priority Critical patent/CN105488147A/zh
Publication of CN105488147A publication Critical patent/CN105488147A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于SQL模板的数据持久化方法。在数据访问时提供SQL语句,而解析SQL语句时,将模板中的动态标签进行分析,形成SQL语法树结构;并在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串。本发明能够有效降低项目本地化实施和移植的成本,提高开发效率。

Description

一种基于SQL模板的持久化方法
技术领域
本发明涉及计算机服务器应用程序领域,尤其是一种管理信息系统的持久化方法。
背景技术
在当今的管理信息系统软件开发中,数据访问是必不可少的,在数据库技术中,SQL语句是数据库操作的主要方法。
基于Web的管理信息系统软件现在最主要是以B/S浏览器模式开发,基于数据的WEB应用是开发的主流,服务端一般采用数据持久化工具如JDBCTEMPLATE、HIBERNATE、IBATIS等。
WEB应用的数据访问主要是按应用框架的层次,服务层采用JDBC的方式访问数据库,大都使用Hibernate或Ibatis持久化框架。
现在的数据访问框架层次较多,对于开发一些复杂的大型WEB应用,当前的框架有一定的技术管理优势,但结构复杂,开发速度慢,对于一些小型应用就是不太合适,开发成本相关较高。
发明内容
针对现有数据访问框架结构复杂、开发效率低下的问题,本发明提供一种基于SQL模板的数据持久化框架,提供快速的数据访问方法。
为达到上述目的,本发明可采用如下技术方案:
一种基于SQL模板的持久化方法,包括以下步骤:
(1)、数据访问时提供SQL语句,数据访问框架为自动拼成正确的SQL;
(2)、数据访问时提供参数对象,参数对象是JAVA的Map<String,Object>的标准对象,将参数对象做字符串的持久化JSON处理,形式可以在服务端中可以传输的持久化串;
(3)、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包含请求参数的所有层次关系;
(4)、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构;
(5)、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串;
(6)、将请求参数置入ONGL的根对象,将SQL中的表达式语言,存取对象的任意属性,调用对象的方法。
与现有技术相比,本发明能够有效降低项目本地化实施和移植的成本,提高开发效率。
附图说明
图1是本方法中的数据访问框架。
具体实施方式
本发明中使用的术语解释:
下面将结合附图对本发明的实施方式进行全面详细阐述。
请参阅图1所示,本发明提供一种基于SQL模板的持久化方法,包括以下步骤:
(1)、数据访问时提供SQL语句,SQL语句是数据标准的格式,也可以提供SQL语句数组,数据访问框架为自动拼成正确的SQL;
(2)、数据访问时提供参数对象,参数对象是JAVA的Map<String,Object>的标准对象,将参数对象做字符串的持久化JSON处理,形式可以在服务端中可以传输的持久化串;
(3)、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包含请求参数的所有层次关系;
(4)、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构;
(5)、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串;
(6)、将请求参数置入ONGL的根对象,将SQL中的表达式语言,存取对象的任意属性,调用对象的方法。
进一步的,
本发明还提供JAVA数据访问类库SqlMapService;
本发明提供的JAVA数据访问类库SqlMapService对象,提供以下API方法:
SqlMapService.queryForList
SqlMapService.queryForObject
SqlMapService.queryForBlob
SqlMapService.update
本发明提供服务端各流行数据库(如oracle,mysql等)访问接口组件,实现数据库的兼容;
本发明提供的SQL模板技术,实现动态数据访问机制,模板提供<where>,<if>,<set>,<choose>,<when>动态标签。
另外,本发明的具体实现方法和途径很多,以上所述仅是本发明的优选实施方式。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (1)

1.一种基于SQL模板的持久化方法,其特征在于,包括以下步骤:
(1)、数据访问时提供SQL语句,数据访问框架为自动拼成正确的SQL;
(2)、数据访问时提供参数对象,参数对象是JAVA的Map<String,Object>的标准对象,将参数对象做字符串的持久化JSON处理,形式可以在服务端中可以传输的持久化串;
(3)、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包含请求参数的所有层次关系;
(4)、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构;
(5)、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串;
(6)、将请求参数置入ONGL的根对象,将SQL中的表达式语言,存取对象的任意属性,调用对象的方法。
CN201510837539.7A 2015-11-26 2015-11-26 一种基于sql模板的持久化方法 Pending CN105488147A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510837539.7A CN105488147A (zh) 2015-11-26 2015-11-26 一种基于sql模板的持久化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510837539.7A CN105488147A (zh) 2015-11-26 2015-11-26 一种基于sql模板的持久化方法

Publications (1)

Publication Number Publication Date
CN105488147A true CN105488147A (zh) 2016-04-13

Family

ID=55675122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510837539.7A Pending CN105488147A (zh) 2015-11-26 2015-11-26 一种基于sql模板的持久化方法

Country Status (1)

Country Link
CN (1) CN105488147A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388646A (zh) * 2018-02-28 2018-08-10 弘成科技发展有限公司 一种能够保证sql完整性且能动态变动的方法
CN108762732A (zh) * 2018-05-30 2018-11-06 南京焦点领动云计算技术有限公司 一种HTML内联CSS和内联JavaScript合并方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582066A (zh) * 2008-05-13 2009-11-18 阿里巴巴集团控股有限公司 网站系统及基于所述网站系统的数据交互方法
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统
CN102279750A (zh) * 2011-08-30 2011-12-14 浙江大学 一种基于领域知识共享的迭代式代码生成方法
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN103955538A (zh) * 2014-05-19 2014-07-30 携程计算机技术(上海)有限公司 HBase数据持久和查询方法及HBase系统
CN104462463A (zh) * 2014-12-17 2015-03-25 南京莱斯信息技术股份有限公司 JavaScript基于SQL模板的数据访问方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582066A (zh) * 2008-05-13 2009-11-18 阿里巴巴集团控股有限公司 网站系统及基于所述网站系统的数据交互方法
CN101980213A (zh) * 2010-11-23 2011-02-23 中国科学院软件研究所 一种基于j2ee的数据持久化方法及系统
CN102279750A (zh) * 2011-08-30 2011-12-14 浙江大学 一种基于领域知识共享的迭代式代码生成方法
CN103177027A (zh) * 2011-12-23 2013-06-26 北京新媒传信科技有限公司 获取动态Feed索引的方法和系统
CN103955538A (zh) * 2014-05-19 2014-07-30 携程计算机技术(上海)有限公司 HBase数据持久和查询方法及HBase系统
CN104462463A (zh) * 2014-12-17 2015-03-25 南京莱斯信息技术股份有限公司 JavaScript基于SQL模板的数据访问方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388646A (zh) * 2018-02-28 2018-08-10 弘成科技发展有限公司 一种能够保证sql完整性且能动态变动的方法
CN108762732A (zh) * 2018-05-30 2018-11-06 南京焦点领动云计算技术有限公司 一种HTML内联CSS和内联JavaScript合并方法
CN108762732B (zh) * 2018-05-30 2019-06-11 南京焦点领动云计算技术有限公司 一种HTML内联CSS和内联JavaScript合并方法

Similar Documents

Publication Publication Date Title
CN104899295B (zh) 一种异构数据源数据关联分析方法
CN106202207B (zh) 一种基于HBase-ORM的索引及检索系统
CN110837492B (zh) 一种多源数据统一sql提供数据服务的方法
CN101901265B (zh) 一种虚拟试验数据对象化管理系统
Holzschuher et al. Querying a graph database–language selection and performance considerations
CN103729463A (zh) 基于Lucene和Solr实现全文检索的方法
CN103810275A (zh) 用于非关系与关系型数据库间数据交互的方法和装置
US8881127B2 (en) Systems and methods to automatically generate classes from API source code
CN103699638A (zh) 一种基于配置参数实现跨数据库类型同步数据的方法
CN103309806B (zh) 一种快速开发测试的装置及方法
GB2576654A (en) Method and apparatus for facilitating creation of simulation model
US9563650B2 (en) Migrating federated data to multi-source universe database environment
US11061964B2 (en) Techniques for processing relational data with a user-defined function (UDF)
CN108052635A (zh) 一种异构数据源统一联合查询方法
WO2018176822A1 (zh) 一种操作ElasticSearch的方法及装置
CN105224613A (zh) 基于数据联邦技术的异构数据源整合系统及其整合方法
CN105447051A (zh) 一种数据库操作的方法和装置
CN112930529A (zh) 从概念数据模型生成软件工件
US9971794B2 (en) Converting data objects from multi- to single-source database environment
CN103678396B (zh) 一种基于数据模型的数据备份方法和装置
CN110109983B (zh) 一种操作Redis数据库的方法和装置
CN104699758A (zh) 一种图文库关联的指挥文书智能生成系统与方法
WO2018233673A1 (zh) 一种控制器中模型代码配置方法和装置、存储介质
Choi et al. Improving database system performance by applying NoSQL
CN105488147A (zh) 一种基于sql模板的持久化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160413