CN114138240A - java对象生成方法、系统、计算机设备及可读存储介质 - Google Patents

java对象生成方法、系统、计算机设备及可读存储介质 Download PDF

Info

Publication number
CN114138240A
CN114138240A CN202111407830.2A CN202111407830A CN114138240A CN 114138240 A CN114138240 A CN 114138240A CN 202111407830 A CN202111407830 A CN 202111407830A CN 114138240 A CN114138240 A CN 114138240A
Authority
CN
China
Prior art keywords
database
java
java object
metadata information
file
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
CN202111407830.2A
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.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity 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 DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202111407830.2A priority Critical patent/CN114138240A/zh
Publication of CN114138240A publication Critical patent/CN114138240A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • 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/24Querying
    • G06F16/242Query formulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种java对象生成方法、系统、计算机设备及可读存储介质,其中,该java对象生成方法包括:启动操作数据库,建立数据库连接;通过数据库连接执行操作数据库的SQL语句,以获取数据库约束,数据库约束包括数据库表的元数据信息;利用元数据信息生成java对象。通过本申请,解决了在mybatis中无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要映射的java对象,提高了开发效率。

Description

java对象生成方法、系统、计算机设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种java对象生成方法、系统、计算机设备及可读存储介质。
背景技术
一直以来,软件工程界在如何减少程序员的工作量和提高工作产品的质量的问题做着不懈地探讨和研究,用于解决该问题的新方法、新技术、新工具也不断涌现,一些应用程序框架如SSM(Spring+Spring MVC+MyBatis),的出现,试图来减轻程序员的工作负担。
SSM框架,是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。SSM框架虽然极大地提高了程序员的工作效率,使程序开发更简洁,但其中仍存有比较麻烦的问题,比如,虽然SSM框架中mybatis简化了程序员操作数据库的步骤,但在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,这就导致程序员需要做大量的重复的机械劳动,费时费力。
发明内容
在本实施例中提供了一种java对象生成方法、系统、计算机设备及可读存储介质,以解决相关技术在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题。
第一个方面,在本实施例中提供了一种java对象生成方法,包括:
启动操作数据库,建立数据库连接;
通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
根据驼峰规则,利用所述元数据信息生成java对象。
在其中的一些实施例中,通过java数据库连接启动操作数据库,建立数据库连接。
在其中的一些实施例中,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
在其中的一些实施例中,所述启动操作数据库,建立数据库连接的步骤之前,所述方法还包括:
建立数据库中的数据类型与java中的数据类型的对应关系;
创建映射文件,将所述数据库中的数据类型与所述java中的数据类型的对应关系存储于所述映射文件中。
在其中的一些实施例中,所述利用所述元数据信息生成java对象的步骤之后,所述方法还包括:
创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
第二个方面,在本实施例中提供了一种java对象生成系统,包括:
启动模块,用于启动操作数据库,建立数据库连接;
获取模块,用于通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
生成模块,用于根据驼峰规则,利用所述元数据信息生成java对象。
在其中的一些实施例中,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
在其中的一些实施例中,所述生成模块之后,所述系统还包括:
第一创建模块,用于创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
第二创建模块,用于根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
第三个方面,在本实施例中提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的java对象生成方法。
第四个方面,在本实施例中提供了一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的java对象生成方法。
与相关技术相比,在本实施例中提供的java对象生成方法,通过在java程序中加载mysql数据库的驱动程序,再建立数据库连接,用于负责与进行数据库之间的通讯,再使用数据库连接执行mysql数据库中的SQL语句,获取到mysql数据库中各个表结构,以及数据表结构的元数据信息,再利用元数据信息生成java对象,解决了在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要的映射对象,提高了开发效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请第一实施例的java对象生成方法的流程图;
图2是根据本申请第二实施例的java对象生成方法的流程图;
图3是根据本申请第三实施例的java对象生成系统的结构框图;
图4是根据本申请第四实施例的java对象生成系统的结构框图;
图5是根据本申请第五实施例的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
在本发明第一实施例提供了一种java对象生成方法,图1是本申请第一实施例的java对象生成方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,启动操作数据库,建立数据库连接;
其中,在本实施例中,该操作数据库具体为mysql数据库,通过JDBC(JavaDatabase Connectivity,Java数据库连接)启动操作数据库,建立数据库连接,即在java程序中加载mysql数据库的驱动程序,再通过JDBC中的driver manager类创建数据库连接对象connection,driver manager类作用于java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的get connection方法,根据数据库的url、用户名和密码,创建一个数据库连接对象connection,具体代码如下:
String driverName=“com.sql.jdbc.Driver”;
Driver driver=(Driver)Class.forName(driverName).newInstance();
Connection conn=driver.connect(url,info);
其中,url为数据库的连接地址;info是一个java对象主要包含数据库的用户名和密码。
步骤S102,通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
其中,一个mysql内置的数据库,在这个数据库中保存了整个mysql系统中的所有数据库的信息,包括数据库中各个表结构的定义、各个表结构中的字段以及索引等其他信息,所述数据库约束可以看作是整个mysql系统的详细说明。
需要说明的是,所述数据库连接即为上述中所创建的connection,且该connection作为在JDBC中连接的抽象表示,用于与特定数据库进行连接(会话),并且能够在连接上下文中执行SQL语句并返回结果,可以理解的,所述数据库连接将java与mysql数据库进行连接,并可以执行mysql数据库中的所述SQL语句,以获取到所述元数据信息。
步骤S103,根据驼峰规则,利用所述元数据信息生成java对象。
其中,驼峰式大小写(Camel-Case,Camel Case,camel case),是电脑程式编写时的一套命名规则,利用驼峰命名规则来表示,有利于增加程序可读性。所述元数据信息包括mysql系统中表结构的表名称、以及表结构中的列信息,可以理解的,根据数据库表结构的名称创建java对象,例如:操作的表结构名称是test_table,根据驼峰规则我们可以创建一个名称为TestTable.java的java对象文件,文件类容为:Public class TestTable{
}
在本实施例中,通过在java程序中加载mysql数据库的驱动程序,再建立所述数据库连接,用于负责与进行数据库之间的通讯,再通过使用所述数据库连接执行所述SQL语句,获取到数据库中各个表结构,以及数据表结构的所述元数据信息,再利用所述元数据信息生成java对象,解决了在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要映射的java对象,提高了开发效率。
在其中的一些实施例中,通过java数据库连接启动操作数据库,建立数据库连接。
其中,所述java数据库连接即为JDBC(Java Database Connectivity),一种操作数据库的java框架,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
在其中的一些实施例中,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
其中,所述数据库表具体表示为mysql数据库中表结构,所述列信息包括各个列的名称以及数据类型。
在其中的一些实施例中,所述根据所述数据库表的名称生成java对象的步骤之后,所述方法还包括:
循环所述元数据信息中的列信息,所述列信息包括所述数据库表结构中各个列的名称以及数据类型;
根据所述列的名称生成所述java对象中的属性,根据所述表结构中列的数据类型对应生成所述java对象中属性的数据类型。
其中,循环是java中的一种编程方法,就是满足一定条件的时候让程序重复的执行一些语句,在本实施例中的判断条件是所述表结构中是否存有没被获取到的列,如果存有,则继续循环直至所述表结构中的列都取出来并生成所述java对象相应的属性,需要说明的是,所述数据库表中的数据类型和所述java对象中的java数据类型是存有一定关系的,可以理解的,所述数据库表中的数据类型与和所述java对象中的java数据类型是一对一对应的,且可以通过使用map数据结构的get方法,根据列的数据类型获取到对应的java数据类型,例如,这里使用Map.get(“Varchar”)就可以获取到Varchar对应的java数据类型String,使用Map.get(“int”)就可以获取到int对应的java数据类型Integer,而这种数据映射关系会提前设定好,以方便该步骤的使用。
在申请第二实施例中还提供了一种java对象生成方法。图2是第二实施例中的java对象生成方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,建立数据库中的数据类型与java中的数据类型的对应关系;
其中,数据库中的数据类型和java中的数据类型是不一样的,但两者之间存有一对一的对应关系,在本实施例中,每种数据库的数据类型会对应java中的一种数据类型。
步骤S202,创建映射文件,将所述数据库中的数据类型与所述java中的数据类型的对应关系存储于所述映射文件中;
其中,创建所述映射文件,用于保存数据库中数据库类型和java中数据类型一对一的对应关系,以使再创建所述java对象的属性时,能够快速地根据数据库的数据类型找到对应的java数据类型,所述映射文件是以java对象文件的形式保存的,文件的后缀为.java。存储使用的数据结构是map类型的key-value结构,把数据库中的类型作为存储的key,java数据类型作为value,示例:
Map.put(“VarChar”,“String”);
Map.put(“int”,“Integer”)。
步骤S203,启动操作数据库,建立数据库连接;
步骤S204,通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
步骤S205,根据驼峰规则,利用所述元数据信息生成java对象;
步骤S206,创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
其中,通过使用技术创建所需要的所述mapper接口文件,再将该mapper接口文件直接复制到需要使用的地方,区别于传统的方式,无需使用手写的方式来创建,简化了mybatis所需接口文件的生成过程,省时省力,提高了一定程度地开发效率,同时还能极为方便地添加自己所需要的方法,可以理解的,所述mapper接口文件的主要内容是用于操作数据库的查询方法,这个方法无需人为撰写或者修改,可直接通过技术自动配置,文件类容示例:
Public interface TestTableMapper extends BaseMapper<>{
TestTable selectOne();
}
该文件定义了一个查询数据库test_table表的方法。
步骤S207,根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
其中,所述XML配置文件是配合上一步骤中所述mapper接口文件所使用的,所述XML配置文件中定义了具体操作数据库查询的SQL语句,且所述XML配置文件中的SQL语句也可以根据自己所需要的随意进行修改,极为便利。文件内容示例:
<?xml version=“1.0”encoding=“UTF-8”?>
<!DOCTYPE mapper PUBLIC“-//mybatis.org//DTD Mapper 3.0//EN”“http://mybatis.org/dtd/mybatis-3-mapper.dtd”>
<mapper namespace=“TestTableMapper”>
<select id=“selectOne”resultType=“TestTable”>
Select*from test_table limit 1
</select>
</mapper>
方法名与Mapper中的保持一致是指,Mapper中有一个selectOne()方法,则XML文件中必须有一个id=“selectOne”的方法与之对应。
在本实施例中,通过在java程序中加载mysql数据库的驱动程序,再建立所述数据库连接,用于负责与进行数据库之间的通讯,再通过使用所述数据库连接执行所述SQL语句,获取到数据库中各个表结构,以及数据表结构的所述元数据信息,再利用所述元数据信息生成java对象,再通过使用技术创建所述mapper接口文件,在所述mapper接口文件中写入所需要的方法,并根据所述mapper接口文件创建适配的所述XML配置文件,区别于现有技术,不仅解决了在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,同时还简化了mybatis所需接口文件、XML配置文件的生成过程,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要映射的java对象,也简化了程序员定制自己所需的mybatis插件的门槛,从一定程度上提高了开发效率。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本第三实施例中还提供了一种java对象生成系统,该系统用于实现上述第一实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本申请第三实施例提供了一种java对象生成系统,图3是根据本申请第三实施例的java对象生成系统的结构框图,如图3所示,该系统包括:
启动模块10,用于启动操作数据库,建立数据库连接;
获取模块20,用于通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
生成模块30,用于根据驼峰规则,利用所述元数据信息生成java对象;
其中,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
在本实施例中,通过在java程序中加载mysql数据库的驱动程序,再建立所述数据库连接,用于负责与进行数据库之间的通讯,再通过所述数据库连接执行所述SQL语句,获取到数据库中各个表结构,以及数据表结构的所述元数据信息,再利用所述元数据信息生成java对象,解决了在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要映射的java对象,提高了开发效率。
在其中一些实施例中,通过java数据库连接启动操作数据库,建立数据库连接。
在其中的一些实施例中,所述生成模块30之后,所述系统还包括:
循环模块,用于循环所述元数据信息中的列信息,所述列信息包括所述数据库表结构中各个列的名称以及数据类型;
再生成模块,用于根据所述列的名称生成所述java对象中的属性,根据所述表结构中列的数据类型对应生成所述java对象中属性的数据类型。
在本第四实施例中还提供了一种java对象生成系统,该系统用于实现上述第二实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本申请第四实施例提供了一种java对象生成系统,图4是根据本申请第四实施例的java对象生成系统的结构框图,如图4所示,该系统包括:
建立模块100,用于建立数据库中的数据类型与java中的数据类型的对应关系;
存储模块200,用于创建映射文件,将所述数据库中的数据类型与所述java中的数据类型的对应关系存储于所述映射文件中;
启动模块300,用于启动操作数据库,建立数据库连接;
获取模块400,用于通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
生成模块500,用于根据驼峰规则,利用所述元数据信息生成java对象;
第一创建模块600,用于创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
第二创建模块700,用于根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
在本实施例中,通过在java程序中加载mysql数据库的驱动程序,再建立所述数据库连接,用于负责与进行数据库之间的通讯,再通过所述数据库连接执行所述SQL语句,获取到数据库中各个表结构,以及数据表结构的所述元数据信息,再利用所述元数据信息生成java对象,再通过使用技术创建所述mapper接口文件,在所述mapper接口文件中写入所需要的方法,并根据所述mapper接口文件创建适配的所述XML配置文件,区别于现有技术,不仅解决了在mybatis中仅有基本的字段映射,对象数据以及对象实际关系仍然需要手写SQL来实现和管理,无法使用配置自动生成与数据库表结构映射的java对象,导致程序员需要做大量的重复的机械劳动,费时费力的问题,同时还简化了mybatis所需接口文件、XML配置文件的生成过程,实现了程序员可以通过自定义的程序,并使用配置自动生成mybatis需要映射的java对象,也简化了程序员定制自己所需的mybatis插件的门槛,从一定程度上提高了开发效率。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例java对象生成方法可以由计算机设备来实现。图5为根据本申请第五实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器52以及存储有计算机程序指令的存储器53。
具体地,上述处理器52可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器53可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器53可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器53可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器53可在数据处理装置的内部或外部。在特定实施例中,存储器53是非易失性(Non-Volatile)存储器。在特定实施例中,存储器53包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器53可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器52所执行的可能的计算机程序指令。
处理器52通过读取并执行存储器53中存储的计算机程序指令,以实现上述实施例中的任意一种java对象生成方法。
在其中一些实施例中,计算机设备还可包括通信接口54和总线51。其中,如图5所示,处理器52、存储器53、通信接口54通过总线51连接并完成相互间的通信。
通信接口54用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口54还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线51包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线51包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线51可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线51可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的计算机程序,执行本申请实施例中的任务下载方法,从而实现结合图1描述的java对象生成方法。
另外,结合上述实施例中的java对象生成方法,本申请实施例可提供一种可读存储介质来实现。该可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种java对象生成方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种java对象生成方法,其特征在于,包括:
启动操作数据库,建立数据库连接;
通过所述数据库连接执行所述操作数据库的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
根据驼峰规则,利用所述元数据信息生成java对象。
2.根据权利要求1所述的java对象生成方法,其特征在于,通过java数据库连接启动操作数据库,建立数据库连接。
3.根据权利要求1所述的java对象生成方法,其特征在于,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
4.根据权利要求1所述的java对象生成方法,其特征在于,所述启动操作数据库,建立数据库连接的步骤之前,所述方法还包括:
建立数据库中的数据类型与java中的数据类型的对应关系;
创建映射文件,将所述数据库中的数据类型与所述java中的数据类型的对应关系存储于所述映射文件中。
5.根据权利要求1所述的java对象生成方法,其特征在于,所述利用所述元数据信息生成java对象的步骤之后,所述方法还包括:
创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
6.一种java对象生成系统,其特征在于,包括:
启动模块,用于启动操作数据库,建立数据库连接;
获取模块,用于通过使用所述数据库连接执行数据库中的SQL语句,以获取数据库约束,所述数据库约束包括数据库表的元数据信息;
生成模块,用于根据驼峰规则,利用所述元数据信息生成java对象。
7.根据权利要求6所述的java对象生成系统,其特征在于,所述元数据信息包括数据库表的名称和所述数据库表中的列信息,根据所述数据库表的名称生成java对象。
8.根据权利要求6所述的java对象生成系统,其特征在于,所述生成模块之后,所述系统还包括:
第一创建模块,用于创建mapper接口文件,通过所述mapper接口文件写入自定义的方法,以对生成的所述java对象进行查询;
第二创建模块,用于根据所述mapper接口文件创建XML配置文件,所述XML配置文件包括用于操作数据库查询的SQL语句。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述的java对象生成方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5中任一项所述的java对象生成方法。
CN202111407830.2A 2021-11-24 2021-11-24 java对象生成方法、系统、计算机设备及可读存储介质 Pending CN114138240A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111407830.2A CN114138240A (zh) 2021-11-24 2021-11-24 java对象生成方法、系统、计算机设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111407830.2A CN114138240A (zh) 2021-11-24 2021-11-24 java对象生成方法、系统、计算机设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114138240A true CN114138240A (zh) 2022-03-04

Family

ID=80391424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111407830.2A Pending CN114138240A (zh) 2021-11-24 2021-11-24 java对象生成方法、系统、计算机设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114138240A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112538A (zh) * 2023-09-05 2023-11-24 中电金信软件有限公司 数据库操作方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112538A (zh) * 2023-09-05 2023-11-24 中电金信软件有限公司 数据库操作方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN109933571B (zh) 数据库设计文档生成方法、装置及计算机可读存储介质
CN112765023B (zh) 测试用例生成方法、装置
US20130159981A1 (en) Extension mechanism for scripting language compiler
US20140282392A1 (en) Programming model for performant computing in documentoriented storage services
TW201439792A (zh) 資料庫訪問系統及方法
US20070043693A1 (en) Systems and methods for storing a dataset having a hierarchical data structure in a database
CN108037967A (zh) 一种基于多父子结构的菜单加载方法以及电子设备
CN108846129B (zh) 存储数据访问方法、装置及存储介质
CN113672204A (zh) 一种接口文档生成方法、系统、电子设备及存储介质
CN113032393A (zh) 一种绑定关联对象的方法和装置
CN114138240A (zh) java对象生成方法、系统、计算机设备及可读存储介质
CN111723077A (zh) 数据字典维护方法、装置及计算机设备
CN108776665B (zh) 一种数据处理方法及装置
CN110647564A (zh) Hive建表方法、电子装置及计算机可读存储介质
US10540151B1 (en) Graphical customization of a firmware-provided user interface (UI)
US11200203B1 (en) Accessing files stored in a firmware volume from a pre-boot application
US9201937B2 (en) Rapid provisioning of information for business analytics
CN112148746B (zh) 生成数据库表结构文档的方法、装置、电子装置和存储介质
US10423599B2 (en) Global and local temporary database tables
CN114138815A (zh) 一种应用程序的多数据库兼容实现方法、设备及介质
WO2022105494A1 (zh) 数据自动回填方法、装置、电子设备及计算机存储介质
AU2019425532B2 (en) System and methods for loading objects from hash chains
CN112883044A (zh) 用于数据库的数据处理方法、装置及计算机可读介质
CN111881220B (zh) 列表存储下的数据操作方法、装置、电子设备和存储介质
CN112948395B (zh) 用于数据库的数据处理方法、装置及计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination