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

文档序号:9727423阅读:423来源:国知局
一种基于sql模板的持久化方法
【技术领域】
[0001] 本发明涉及计算机服务器应用程序领域,尤其是一种管理信息系统的持久化方 法。
【背景技术】
[0002] 在当今的管理信息系统软件开发中,数据访问是必不可少的,在数据库技术中, SQL语句是数据库操作的主要方法。
[0003] 基于Web的管理信息系统软件现在最主要是以B/S浏览器模式开发,基于数据的 WEB应用是开发的主流,服务端一般采用数据持久化工具如JDBCTEMPLATE、HIBERNATE、 IBATIS 等。
[0004] WEB应用的数据访问主要是按应用框架的层次,服务层采用JDBC的方式访问数据 库,大都使用Hibernate或Ibatis持久化框架。
[0005] 现在的数据访问框架层次较多,对于开发一些复杂的大型WEB应用,当前的框架有 一定的技术管理优势,但结构复杂,开发速度慢,对于一些小型应用就是不太合适,开发成 本相关较高。

【发明内容】

[0006] 针对现有数据访问框架结构复杂、开发效率低下的问题,本发明提供一种基于SQL 模板的数据持久化框架,提供快速的数据访问方法。
[0007] 为达到上述目的,本发明可采用如下技术方案:
[0008] -种基于SQL模板的持久化方法,包括以下步骤:
[0009] (1 )、数据访问时提供SQL语句,数据访问框架为自动拼成正确的SQL;
[0010] (2)、数据访问时提供参数对象,参数对象是JAVA的Map〈String,Ob ject>的标准对 象,将参数对象做字符串的持久化JS0N处理,形式可以在服务端中可以传输的持久化串;
[0011] (3 )、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包 含请求参数的所有层次关系;
[0012] ⑷、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构;
[0013] (5)、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串;
[0014] (6)、将请求参数置入0NGL的根对象,将SQL中的表达式语言,存取对象的任意属 性,调用对象的方法。
[0015] 与现有技术相比,本发明能够有效降低项目本地化实施和移植的成本,提高开发 效率。
【附图说明】
[0016] 图1是本方法中的数据访问框架。
【具体实施方式】
[0017]本发明中使用的术语解释:
[0019] 下面将结合附图对本发明的实施方式进行全面详细阐述。
[0020] 请参阅图1所示,本发明提供一种基于SQL模板的持久化方法,包括以下步骤:
[0021] (1 )、数据访问时提供SQL语句,SQL语句是数据标准的格式,也可以提供SQL语句数 组,数据访问框架为自动拼成正确的SQL;
[0022] (2)、数据访问时提供参数对象,参数对象是JAVA的Map〈String,Ob ject>的标准对 象,将参数对象做字符串的持久化JS0N处理,形式可以在服务端中可以传输的持久化串; [0023] (3 )、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包 含请求参数的所有层次关系;
[0024] (4)、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构;
[0025] (5)、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串;
[0026] (6)、将请求参数置入0NGL的根对象,将SQL中的表达式语言,存取对象的任意属 性,调用对象的方法。
[0027] 进一步的,
[0028] 本发明还提供JAVA数据访问类库SqlMapService;
[0029] 本发明提供的JAVA数据访问类库SqlMapService对象,提供以下API方法:
[0030] SqlMapService.queryForList [0031 ] SqlMapService.queryForObject
[0032] SqlMapService.queryForBlob
[0033] SqlMapService. update
[0034] 本发明提供服务端各流行数据库(如〇raCle,mySql等)访问接口组件,实现数据库 的兼容;
[0035]本发明提供的SQL模板技术,实现动态数据访问机制,模板提供〈where〉,〈if >,〈 set〉,〈choose〉,〈when〉动态标签。
[0036]另外,本发明的具体实现方法和途径很多,以上所述仅是本发明的优选实施方式。 应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做 出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各 组成部分均可用现有技术加以实现。
【主权项】
1. 一种基于SQL模板的持久化方法,其特征在于,包括以下步骤: (1 )、数据访问时提供SQL语句,数据访问框架为自动拼成正确的SQL; (2)、数据访问时提供参数对象,参数对象是JAVA的Map〈String,Object〉的标准对象, 将参数对象做字符串的持久化JS0N处理,形式可以在服务端中可以传输的持久化串; (3)、在数据访问时,将调用传过来的请求参数串反序列化为JAVA中的MAP对象,包含请 求参数的所有层次关系; (4)、解析SQL语句,将模板中的动态标签进行分析,形成SQL语法树结构; (5 )、在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串; (6)、将请求参数置入0NGL的根对象,将SQL中的表达式语言,存取对象的任意属性,调 用对象的方法。
【专利摘要】本发明公开了一种基于SQL模板的数据持久化方法。在数据访问时提供SQL语句,而解析SQL语句时,将模板中的动态标签进行分析,形成SQL语法树结构;并在SQL语法树中对参数命名占位符进行动态解析,生成可执行的SQL字符串。本发明能够有效降低项目本地化实施和移植的成本,提高开发效率。
【IPC分类】G06F17/30
【公开号】CN105488147
【申请号】CN201510837539
【发明人】苏祖辉, 支兵
【申请人】南京莱斯信息技术股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1