在Java系统中封装SQL语言的处理方法及系统的制作方法

文档序号:9865233阅读:563来源:国知局
在Java系统中封装SQL语言的处理方法及系统的制作方法【
技术领域
】[0001]本发明涉及计算机数据处理
技术领域
,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统。【
背景技术
】[0002]Java语言作为一种较为成熟的编程语言,被广泛应用到各种程序的编程中。一般来说,Java语言访问MySQL数据库是通过API提供SQL语句来进行的,有一些框架本身对这个API进行了封装,但是始终都是以接收类SQL的字符串来进行调用。[0003]同时,现在的编程工作人员大多数都是在IDE(IntegratedDevelopmentEnvironment,集成开发环境)进行开发,IDE本身提供强大的语言支持,例如在Java常用的IDE中,就提供了自动补全,重构等的功能,但是使用传入类SQL字符串的方式进行数据传递,类SQL的字符串无法得到IDE的支持,只能由编程工作人员的记忆和手动编写。【
发明内容】[0004]为了克服现有技术的不足,本发明的目的提供一种Java系统应用程序接口,用来封装MySQL的SQL语言,将MySQL中的SQL语言的功能通过封装成为Java的应用程序接口来实现,提高数据的操作,大大降低编程工作人员的编写难度。[0005]为解决上述问题,本发明所采用的技术方案如下:[0006]本发明提供了一种在Java系统中封装SQL语言的处理方法,包括以下步骤:[0007]SlOl:接收用户客户端输入的语句;[0008]S102:依次获得语句中的类及类所传入的参数;[0009]S103:依据类对其所传入的参数处理得出相对应的SQL语句片段并存储;[0010]S104:将所有的SQL语句片段合并为一个标准SQL语句A并存储;[0011]S105:通过调用JDBC连接数据库,并根据语句A进行相对应的数据库操作。[0012]进一步,在步骤S105中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。[0013]进一步,在步骤S105中,若数据库操作为读操作,则还将查询结果返回至用户客户端。[0014]进一步,所述S102中当依次获得语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性,若合法,则继续执行S103;若不合法,则抛出异常。[0015]本发明还提供了一种在Java系统中封装SQL语言的处理系统,包括以下模块:[0016]接收语句模块,用于接收用户客户端输入的语句;[0017]获取参数模块,用于依次获得语句中的类及类所传入的参数;[0018]处理模块,用于依据类对其所传入的参数处理得到相对应的SQL语句片段并存储;[0019]解析模块,用于将所有的SQL语句片段合并为一个标准的SQL语句A并存储;[0020]数据库操作模块,用于对语句A通过调用JDBC连接数据库,并进行相对应的数据库操作。[0021]进一步,在数据库操作模块中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。[0022]进一步,所述若数据库操作为读操作,则还将查询结果返回给用户客户端。[0023]进一步,所述获取参数模块还用于当依次获的语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性;若合法,则继续执行处理模块;若不合法,则抛出异常。[0024]相比现有技术,本发明的有益效果在于:通过将MySQL中的SQL语言封装到Java系统的接口,然后按照这些通用的规范接口来编写SQL语句,系统通过接收这种SQL语句,对其进行组合处理后返回给用户所需要的数据。同时由于将这些接口封装在Java类库中,并集成在IDE中,提供自动补全、重构和代码提示等的功能,这样编程工作人员在编程的时候得到了IDE的帮助,快速提高编写速度,进一步避免因为编程工作人员的手误导致的错误。【附图说明】[0025]图1是本发明提供一实施例的方法流程图。【具体实施方式】[0026]下面,结合附图以及【具体实施方式】,对本发明做进一步描述:[0027]如图1所示,本发明提供了一种在Java系统中封装SQL语言的处理方法,将MySQL数据库中的SQL语言封装到Java中,使得SQL语句的功能用Java的应用程序接口来实现。也即是通过面向对象思想将SQL语言转换成能够使用Java类、对象和接口来实现的一种编码方法,在Java语言中构造相对应的语法结构,然后导入到Java类库中。编程人员可以在编程时使用这种语法结构来编写代码,然后系统通过调用所述语法结构在Java类库中形成的应用程序接口执行代码,对MySQL数据库进行相对应的操作,最终返回用户客户端所需要的数据。[0028]其中应用程序接口是在Java语言中预先定义的一种语法结构,和Java类库中的应用程序调用方法类似,输入参数是类似MySQL数据库中SQL字符串,返回参数也是预定义的数据类型;这种语法结构的设计是将MySQL中的SQL语言通过静态责任链的方式,将各个SQL语句的关键字变为静态责任链中的具体方法,使得在编写SQL语句时类似于编写Java代码一样方便。MySQL的SQL语句中主要是三种类型查询语句、更新语句和删除语句。查询语句关键字主要是select、from和一些条件性的关键字,由于select关键字后面必会跟from关键字,可以将这2个关键字作为一种整体;更新语句也是一样的,update和set是同时出现的,后面会选择性的跟条件性的关键字;删除语句则delete和from是一起出现的,后面会选择性的跟条件性的关键字。条件性的关键字包括如:where、and、or、orderby等等,这些关键字都是SQL语言中的关键字,是本领域技术人员都所熟知的,这里并没有一一列举。同时在Java类库中也建立三种语句框架select、update和delete,以SQL语句的关键字为类,并且每个类中都定义了该关键字后可能出现的关键字的方法,在处理的时候,先处理好当前关键字类的参数后,然后依次访问相关的关键字类并处理其参数。同时为每一个语句框架还定义相对应的接口,大部分的关键字都实现了该接口,查询语句通过接口Query来访问数据库并返回数据、更新和删除语句通过接口WritableQuery将内容写入数据库。但并不是所有的关键字都实现了接口,比如整对出现的不能实现该接口,例如select和from是必须一起出现的关键字,因此select类不能够单独实现该接口。这种方法是通过访问各种语句的当前关键字类访问下一个关键字类来实现,同时还会定义一个统一的外部接口,比如对于第一类是通过new方法来实例化,则在Java类库中增加一个UtiI类MySQL,这个类增加了初始的MySQL关键字的静态方法SeleCt()、update()和deleteO,分别返回三个包中的实际关键字处理类,通过Java的静态引入特性,将该框架类引入。[0029]例如对于一个MySQL中的查询语句其相对应的在Java中写出的语句:[0030]MySQL:select*fromtableAawherea.1d=landa.namelike'%user';[0031]Java:select(〃*〃).from(TabIeA.class,〃a〃).where(〃a.id〃,eq,I).and(〃a.name^,like,"^iuser");[0032]由此可以看出二者写法上的区别,后者更加接近Java语言中的写法。[0033]本发明公开了一种所述在Java系统中封装SQL语言的处理方法,具体包括以下步骤:[0034]SlOl:接收用户客户端输入的语句。[0035]本步骤中系统接收用户客户端根据Java语言的编写方法输入语句。[0036]S102:依次获得语句中的类及类所传入的参数。[0037]S103:依据类对其所传入的参数处理得出相对应的SQL语句片段并存储。[0038]本步骤中依据类对其所传入的参数做相对应的处理,这种处理过程是Java语言中的面向对象的处理方法。根据面向对象的思想定义了类和接口,则方法就会执行相对应的操作,获得相对应的结果并保存。根据预先的定义可知,该方法都是对应标准SQL语言中的关键字,所传入的参数也是SQL语句中的字段经过相对应的变化得来的。所述结果会保存为SQL语句片段,比如在Java语言中写入的“select(〃*〃)”,经过处理后会得到“select*”。[0039]S104:将所有的SQL语句片段合并为一个标准SQL语句A并存储。[0040]本步骤中将所有的SQL片段都放在一起,将其合并为一个完整的SQL语句A。这样使用Java语言的方式来编写SQL,然后通过这种方法的转换得到数据库能够识别的标准SQL语句A。对于初学者来说,只需当前第1页1 2 
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1