CN105630508A - 在Java系统中封装SQL语言的处理方法及系统 - Google Patents

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

Info

Publication number
CN105630508A
CN105630508A CN201511033017.8A CN201511033017A CN105630508A CN 105630508 A CN105630508 A CN 105630508A CN 201511033017 A CN201511033017 A CN 201511033017A CN 105630508 A CN105630508 A CN 105630508A
Authority
CN
China
Prior art keywords
statement
sql
class
parameter
java
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
CN201511033017.8A
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.)
GUANGZHOU ONECLOUD INFORMATION TECHNOLOGY Inc
OneCloud Inc
Original Assignee
GUANGZHOU ONECLOUD INFORMATION TECHNOLOGY Inc
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 GUANGZHOU ONECLOUD INFORMATION TECHNOLOGY Inc filed Critical GUANGZHOU ONECLOUD INFORMATION TECHNOLOGY Inc
Priority to CN201511033017.8A priority Critical patent/CN105630508A/zh
Publication of CN105630508A publication Critical patent/CN105630508A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种在Java系统中封装SQL语言的处理方法及系统,将MySQL的SQL语言封装在Java语言中,设计出一种类SQL语言的编码,将SQL语句的功能变成Java的应用程序接口。在使用时,用户在IDE中输入代码,运行时调用相对应的应用程序接口和类来实现对数据库相对应的操作。这种编码支持在IDE中的自动补全和重构的功能,使得编写时大量降低了因为手动输入字符错误到导致的错误,同时节省了编码的时间。

Description

在Java系统中封装SQL语言的处理方法及系统
技术领域
本发明涉及计算机数据处理技术领域,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统。
背景技术
Java语言作为一种较为成熟的编程语言,被广泛应用到各种程序的编程中。一般来说,Java语言访问MySQL数据库是通过API提供SQL语句来进行的,有一些框架本身对这个API进行了封装,但是始终都是以接收类SQL的字符串来进行调用。
同时,现在的编程工作人员大多数都是在IDE(IntegratedDevelopmentEnvironment,集成开发环境)进行开发,IDE本身提供强大的语言支持,例如在Java常用的IDE中,就提供了自动补全,重构等的功能,但是使用传入类SQL字符串的方式进行数据传递,类SQL的字符串无法得到IDE的支持,只能由编程工作人员的记忆和手动编写。
发明内容
为了克服现有技术的不足,本发明的目的提供一种Java系统应用程序接口,用来封装MySQL的SQL语言,将MySQL中的SQL语言的功能通过封装成为Java的应用程序接口来实现,提高数据的操作,大大降低编程工作人员的编写难度。
为解决上述问题,本发明所采用的技术方案如下:
本发明提供了一种在Java系统中封装SQL语言的处理方法,包括以下步骤:
S101:接收用户客户端输入的语句;
S102:依次获得语句中的类及类所传入的参数;
S103:依据类对其所传入的参数处理得出相对应的SQL语句片段并存储;
S104:将所有的SQL语句片段合并为一个标准SQL语句A并存储;
S105:通过调用JDBC连接数据库,并根据语句A进行相对应的数据库操作。
进一步,在步骤S105中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
进一步,在步骤S105中,若数据库操作为读操作,则还将查询结果返回至用户客户端。
进一步,所述S102中当依次获得语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性,若合法,则继续执行S103;若不合法,则抛出异常。
本发明还提供了一种在Java系统中封装SQL语言的处理系统,包括以下模块:
接收语句模块,用于接收用户客户端输入的语句;
获取参数模块,用于依次获得语句中的类及类所传入的参数;
处理模块,用于依据类对其所传入的参数处理得到相对应的SQL语句片段并存储;
解析模块,用于将所有的SQL语句片段合并为一个标准的SQL语句A并存储;
数据库操作模块,用于对语句A通过调用JDBC连接数据库,并进行相对应的数据库操作。
进一步,在数据库操作模块中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
进一步,所述若数据库操作为读操作,则还将查询结果返回给用户客户端。
进一步,所述获取参数模块还用于当依次获的语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性;若合法,则继续执行处理模块;若不合法,则抛出异常。
相比现有技术,本发明的有益效果在于:通过将MySQL中的SQL语言封装到Java系统的接口,然后按照这些通用的规范接口来编写SQL语句,系统通过接收这种SQL语句,对其进行组合处理后返回给用户所需要的数据。同时由于将这些接口封装在Java类库中,并集成在IDE中,提供自动补全、重构和代码提示等的功能,这样编程工作人员在编程的时候得到了IDE的帮助,快速提高编写速度,进一步避免因为编程工作人员的手误导致的错误。
附图说明
图1是本发明提供一实施例的方法流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述:
如图1所示,本发明提供了一种在Java系统中封装SQL语言的处理方法,将MySQL数据库中的SQL语言封装到Java中,使得SQL语句的功能用Java的应用程序接口来实现。也即是通过面向对象思想将SQL语言转换成能够使用Java类、对象和接口来实现的一种编码方法,在Java语言中构造相对应的语法结构,然后导入到Java类库中。编程人员可以在编程时使用这种语法结构来编写代码,然后系统通过调用所述语法结构在Java类库中形成的应用程序接口执行代码,对MySQL数据库进行相对应的操作,最终返回用户客户端所需要的数据。
其中应用程序接口是在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类库中增加一个Util类MySQL,这个类增加了初始的MySQL关键字的静态方法select()、update()和delete(),分别返回三个包中的实际关键字处理类,通过Java的静态引入特性,将该框架类引入。
例如对于一个MySQL中的查询语句其相对应的在Java中写出的语句:
MySQL:select*fromtableAawherea.id=1anda.namelike'%user';
Java:select("*").from(TableA.class,"a").where("a.id",eq,1).and("a.name",like,"%user");
由此可以看出二者写法上的区别,后者更加接近Java语言中的写法。
本发明公开了一种所述在Java系统中封装SQL语言的处理方法,具体包括以下步骤:
S101:接收用户客户端输入的语句。
本步骤中系统接收用户客户端根据Java语言的编写方法输入语句。
S102:依次获得语句中的类及类所传入的参数。
S103:依据类对其所传入的参数处理得出相对应的SQL语句片段并存储。
本步骤中依据类对其所传入的参数做相对应的处理,这种处理过程是Java语言中的面向对象的处理方法。根据面向对象的思想定义了类和接口,则方法就会执行相对应的操作,获得相对应的结果并保存。根据预先的定义可知,该方法都是对应标准SQL语言中的关键字,所传入的参数也是SQL语句中的字段经过相对应的变化得来的。所述结果会保存为SQL语句片段,比如在Java语言中写入的“select("*")”,经过处理后会得到“select*”。
S104:将所有的SQL语句片段合并为一个标准SQL语句A并存储。
本步骤中将所有的SQL片段都放在一起,将其合并为一个完整的SQL语句A。这样使用Java语言的方式来编写SQL,然后通过这种方法的转换得到数据库能够识别的标准SQL语句A。对于初学者来说,只需要学习一种编程语言就可以很轻松的对数据库进行操作。同时,在IDE的支持下,即使编程人员对于SQL编写不熟悉的也能够依据IDE的自动补全、提示和重构的方式来写出正确的SQL代码。同时这种设计也会涉及到MySQL中SQL语言,初学者在学习后这种编程方法,也更容易通过这些Java代码来学习MySQL相关的语言和技术。
S105:通过调用JDBC连接数据库,并根据语句A进行相对应的数据库操作。
本步骤中会通过调用JDBC连接数据库,根据语句的不同,会对数据库做相对应的操作,这种是本领域技术人员所熟知的技术。
进一步,所述步骤S105中,根据语句A进行相对应的数据库操作,具体包括:若A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
具体的,若语句A是查询语句,则首先获取的语句中第一个类select,而select所传入的参数是需要返回的数据库对象属性列表,这个列表所包含的是所要查询的数据库表中的字段列名,这是和标准SQL语句中的select关键字后面跟的字段是一样的。之后获取的第二个类是from,而from类所传入的参数包括数据库表的类定义和该表的别名。在处理过程中,类会根据预定义的处理方式对自己的参数进行处理。如首先创建select对象对其参数进行处理并存储;然后创建from对象,该from对象会将“select*”与数据库表的类定义和该表的别名一同处理,得出处理结果。然后再获取语句中下一个类所传入的参数按照预定义的类的处理规则得出类似的SQL语句片段,比如对where("a.id",eq,1)处理后得出“wherea.id=1”。然后在获取下一个类所传入的参数,做同样的处理。直到整个语句结束,然后将这些SQL语句片段进行合并为一个完整的SQL查询语句。再通过调用JDBC来连接数据库,对数据库进行查询操作。这样就完成了用类MySQL语言在Java中编程的方法对数据库的操作。在编写时使用这种语言对于编程人员来说,比较简单方便,封装了所有类的处理过程,编程人员不需要了解MySQL如何对数据库操作的,只需通过接口就完成对数据库的访问。
进一步,所述S105中对数据库的操作是读操作是将查询结果返回给用户客户端。比如上述对数据库进行查询操作后还会将查询结果返回给用户客户端。这种处理过程是Java面向对象的常规处理,是本领域技术人员所熟知的技术。
进一步,所述S102中当依次获得语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性,若合法,则继续执行S103;若不合法,则抛出异常。
本步骤中,获取的类首先会对类本身所传入的参数进行判断合法性。若不合法,则说明输入有误,直接抛出异常,避免为之后的操作造成麻烦。同时,在处理参数时,如果有关于数据库表的字段时,还要判断该字段与数据库表是否对应。比如,select类所传入的参数是需要返回的数据对象属性列表,也即是表中的字段名。当获取到from的参数时,from参数包括映射了数据库表的类定义和查询语句中对应类的别名。From创建相应的对象对自身的参数进行处理时,会首先判断select对象中的字段名是否映射在数据库类的属性当中。在定义时,会将数据库表与其属性列表映射在一个映射表中并存储,在运行时会自动调用并判断。这种检测机制不需要连接数据库的情况下,就可以检测字段和表的输入是否有误,大大减少了系统的消耗。同时由于使用的是IDE软件来输入代码,利用IDE的自动提示、补全和重构的功能,还可以检测用户输入的类或者关键字是否正确,提高了很好的用户体验,避免了人为的输入错误,同时节省了编码的时间。
进一步,对于所接收到的类所传入的参数有比较关系时,比如where,所传入的参数包括需要查询的当前表的列名,还包括列名与指定列的比较关系。这种比较关系是预先定义在一个枚举类中,用户输入的这些比较关系都必须是枚举类中的一个,否则就会出现抛出异常。比如对于where("a.id",eq,1),所传入的参数包括当前表的列名"a.id",还包括列名"a.id"与指定列1的关系a.id=1。
所述的枚举类是在Java系统中预设的,其中存储了各种关系类型,这种参数都是出现在条件性的方法中,比如where、and、or、和orderby等。这些关系类型都是固定的,在枚举中一一列举并存储,只要用户客户端输入的关系类型不在该枚举中,则说明用户输入有错误,则抛出异常,减少了人为输入错误而导致对数据库操作的错误。
本发明还提供了与所述在Java系统中封装SQL语言的处理方法相对应的系统,其包括:
接收语句模块,用于接收用户客户端输入的语句;
获取参数模块,用于依次获得语句中的类及类所传入的参数;
处理模块,用于依据类对其所传入的参数处理得到相对应的SQL语句片段并存储;
解析模块,用于将所有的SQL语句片段合并为一个标准的SQL语句A并存储;
数据库操作模块,用于对语句A通过调用JDBC连接数据库,并进行相对应的数据库操作。
进一步,在数据库操作模块中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
进一步,所述若数据库操作为读操作,则还将查询结果返回给用户客户端。
进一步,所述获取参数模块还用于当依次获的语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性;若合法,则继续执行处理模块;若不合法,则抛出异常。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

Claims (8)

1.在Java系统中封装SQL语言的处理方法,其特征在于,包括以下步骤:
S101:接收用户客户端输入的语句;
S102:依次获得语句中的类及类所传入的参数;
S103:依据类对其所传入的参数处理得出相对应的SQL语句片段并存储;
S104:将所有的SQL语句片段合并为一个标准SQL语句A并存储;
S105:通过调用JDBC连接数据库,并根据语句A进行相对应的数据库操作。
2.如权利要求1所述的在Java系统中封装SQL语言的处理方法,其特征在于,在步骤S105中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
3.如权利要求2所述的在Java系统中封装SQL语言的处理方法,其特征在于,在步骤S105中,若数据库操作为读操作,则还将查询结果返回至用户客户端。
4.如权利要求1所述的在Java系统中封装SQL语言的处理方法,其特征在于,所述S102中当依次获得语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性,若合法,则继续执行S103;若不合法,则抛出异常。
5.在Java系统中封装SQL语言的处理系统,其特征在于,包括以下模块:
接收语句模块,用于接收用户客户端输入的语句;
获取参数模块,用于依次获得语句中的类及类所传入的参数;
处理模块,用于依据类对其所传入的参数处理得到相对应的SQL语句片段并存储;
解析模块,用于将所有的SQL语句片段合并为一个标准的SQL语句A并存储;
数据库操作模块,用于对语句A通过调用JDBC连接数据库,并进行相对应的数据库操作。
6.如权利要求5所述在Java系统中封装SQL语言的处理系统,其特征在于,在数据库操作模块中,根据语句A进行相对应的数据库操作具体包括:若语句A为查询语句,则数据库操作为读操作;若语句A为更新语句或者删除语句,则数据库操作为写操作。
7.如权利要求6所述在Java系统中封装SQL语言的处理系统,其特征在于,所述若数据库操作为读操作,则还将查询结果返回给用户客户端。
8.如权利要求5所述的在Java系统中封装SQL语言的处理系统,其特征在于,所述获取参数模块还用于当依次获的语句中的类及类所传入的参数时,对所述参数根据类中预定义的判断规则判断参数的合法性;若合法,则继续执行处理模块;若不合法,则抛出异常。
CN201511033017.8A 2015-12-31 2015-12-31 在Java系统中封装SQL语言的处理方法及系统 Pending CN105630508A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511033017.8A CN105630508A (zh) 2015-12-31 2015-12-31 在Java系统中封装SQL语言的处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511033017.8A CN105630508A (zh) 2015-12-31 2015-12-31 在Java系统中封装SQL语言的处理方法及系统

Publications (1)

Publication Number Publication Date
CN105630508A true CN105630508A (zh) 2016-06-01

Family

ID=56045498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511033017.8A Pending CN105630508A (zh) 2015-12-31 2015-12-31 在Java系统中封装SQL语言的处理方法及系统

Country Status (1)

Country Link
CN (1) CN105630508A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599139A (zh) * 2016-12-05 2017-04-26 金蝶软件(中国)有限公司 一种基于MyBatis框架的SQL处理方法及装置
CN107818157A (zh) * 2017-10-31 2018-03-20 北京酷我科技有限公司 一种基于fmdb的sql语句封装方法
CN107832387A (zh) * 2017-10-31 2018-03-23 北京酷我科技有限公司 一种基于fmdb的sql语句解析方法
CN108255478A (zh) * 2018-01-19 2018-07-06 上海锐垚科技有限公司 一种标签式模板开发方法
CN110209395A (zh) * 2019-06-04 2019-09-06 沈阳欧瑞科技有限公司 一种将sql嵌入高级语言的方法、设备及介质
CN111190917A (zh) * 2019-06-10 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN112487006A (zh) * 2020-11-30 2021-03-12 山东浪潮通软信息科技有限公司 一种动态编辑数据结构并生成数据库表的实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921406B1 (en) * 2005-12-12 2011-04-05 The Mathworks, Inc. Incorporating technical computing into a DBMS
CN103914290A (zh) * 2012-12-31 2014-07-09 杭州勒卡斯广告策划有限公司 一种操作命令处理方法及装置
CN104881461A (zh) * 2015-05-22 2015-09-02 国云科技股份有限公司 一种快速数据保存方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7921406B1 (en) * 2005-12-12 2011-04-05 The Mathworks, Inc. Incorporating technical computing into a DBMS
CN103914290A (zh) * 2012-12-31 2014-07-09 杭州勒卡斯广告策划有限公司 一种操作命令处理方法及装置
CN104881461A (zh) * 2015-05-22 2015-09-02 国云科技股份有限公司 一种快速数据保存方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599139A (zh) * 2016-12-05 2017-04-26 金蝶软件(中国)有限公司 一种基于MyBatis框架的SQL处理方法及装置
CN107818157A (zh) * 2017-10-31 2018-03-20 北京酷我科技有限公司 一种基于fmdb的sql语句封装方法
CN107832387A (zh) * 2017-10-31 2018-03-23 北京酷我科技有限公司 一种基于fmdb的sql语句解析方法
CN107818157B (zh) * 2017-10-31 2021-06-29 北京酷我科技有限公司 一种基于fmdb的sql语句封装方法
CN108255478A (zh) * 2018-01-19 2018-07-06 上海锐垚科技有限公司 一种标签式模板开发方法
CN110209395A (zh) * 2019-06-04 2019-09-06 沈阳欧瑞科技有限公司 一种将sql嵌入高级语言的方法、设备及介质
CN110209395B (zh) * 2019-06-04 2023-05-16 沈阳欧瑞科技有限公司 一种将sql嵌入高级语言的方法、设备及介质
CN111190917A (zh) * 2019-06-10 2020-05-22 腾讯科技(深圳)有限公司 一种数据处理方法及装置
CN112487006A (zh) * 2020-11-30 2021-03-12 山东浪潮通软信息科技有限公司 一种动态编辑数据结构并生成数据库表的实现方法

Similar Documents

Publication Publication Date Title
CN105630508A (zh) 在Java系统中封装SQL语言的处理方法及系统
US8392880B2 (en) Rapid application development for database-aware applications
US9886245B2 (en) Software development tool using a workflow pattern that describes software applications
CN102819492B (zh) 一种基于Android的关键字驱动自动化测试框架
CN111897570B (zh) 一种基于Maven插件的多依赖项文件提取方法及装置
CN102591777B (zh) 一种单元测试代码生成方法及装置
CN109739494B (zh) 一种基于Tree-LSTM的API使用代码生成式推荐方法
CN103020089A (zh) 一种将excel文件中的数据导入数据库的方法及装置
US20120174068A1 (en) Testing Software Code
US11314491B1 (en) Generating asynchronous runtime compatibility in JavaScript applications
CN103488759A (zh) 一种根据关键词搜索应用程序的方法和装置
CN111324619B (zh) 微服务系统中的对象更新方法、装置、设备和存储介质
CN105183484A (zh) 一种多版本应用程序编程接口兼容的方法及装置
Dong et al. Orplocator: Identifying read points of configuration options via static analysis
CN111694572A (zh) 代码格式转换方法、装置、计算机设备及存储介质
CN103778239A (zh) 一种多数据库数据管理方法及系统
CN115469941A (zh) 基于FlinkSQL的风控指标计算开发的自动配置处理方法及系统
CN105739964B (zh) 一种基于安卓平台支持版本兼容控制的实现方法
CN107122203B (zh) 一种配置文件的设置方法及装置
CN104462605B (zh) 一种数据库持久层框架配置、修改方法及系统
CN111694738B (zh) 一种sql测试脚本的生成方法
CN111966704A (zh) Orm框架实现方法、系统、计算机设备和存储介质
CN107506474B (zh) 基于对象映射的数据库操作方法及装置
CN102799582B (zh) 提高网管自动发现业务效率的方法及装置
US9898314B2 (en) Javascript extension tool

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: 20160601