一种基于java语言的elasticsearch代码生成方法及工具技术

技术编号:21059409 阅读:33 留言:0更新日期:2019-05-08 06:32
本发明专利技术公开了一种基于java语言的elasticsearch代码生成方法及工具,该方法首先建立一个java工程,引入若干相关的elasticsearch包,然后在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类,最后创建代码生成的执行类,在执行类中创建执行方法,根据需要配置的信息完成代码的一键生成。本发明专利技术提供了一种基于java代码编写的elasticsearch代码映射工具,提高了使用elasticsearch时java开发的效率,达成快速开发项目的一些java实体类,从而提高java开发人员对elsticsearch的使用满意度。

An elastic search code generation method and tool based on Java language

【技术实现步骤摘要】
一种基于java语言的elasticsearch代码生成方法及工具
本专利技术属于互联网大数据领域,涉及一种基于java语言的elasticsearch代码生成方法及工具,主要涵盖elasticseatch的文档映射。
技术介绍
Elasticsearch是一款基于apacheLuncene的开源搜索引擎产品,最早发布与2010年,elasticsearch具有开源、分布式、准实时、RESTFul、便于二次开发等特点,代码实现精巧,系统稳定可靠。Elasticsearch是面向文档型数据库,一个数据在这里就是一个文档,用json作为文档序列化格式,elasticsearch的索引(index)就相当于关系数据库中的数据库,类型(type)相当于关系数据库的表,文档(documents)相当于关系数据库的行,字段(fields)相当于关系数据库的列。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。在实际开发过程中通常会使用java语言编写elasticsearch的映射类。有时候elasticsearch会存在很多需要映射的类,这样如果对照elasticsearch的mapping查看有哪些属性,然后一个个编写java实体类的话会非常耗时耗力。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于java语言的elasticsearch代码生成方法及工具。本专利技术的目的是通过以下技术方案来实现的:一种基于java语言的elasticsearch代码生成方法,该方法包括以下步骤:步骤1:建立一个java工程,引入若干相关的elasticsearch包,引入方式有两种:(1.1)在pom.xml里添加elasticsearch的依赖;(1.2)从elasticsearch官网下载相应的包,将包放入java工程的lib文件夹,通过开发工具将包进行引入;在工程里创建一个类包。步骤2:在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类:所述数据源配置类中创建若干属性,包括elasticsearch集群节点、集群名称、elasticsearch索引、索引类型、表前缀、是否驼峰映射;所述包名配置类中创建若干属性,包括实体包名、Repository包名配置、路径配置;所述模板配置类中创建若干属性,包括java实体类模板、Repository类模板;所述全局配置类中创建若干属性,包括生成文件输出目录、是否覆盖已有文件、是否打开输出目录、开发人员、实体类的命名方式、Repository类的命名方式、指定生成的主键id的类型;所述注入配置类中创建若干属性,包括自定义输出文件、自定义判断是否创建文件,注入自定义的Repository对象。步骤3:创建代码生成的执行类,在执行类中创建执行方法,执行方法的步骤如下:(3.1)设置用户期望配置的数据源配置属性、全局配置属性、包配置属性、模板配置属性、注入配置属性;(3.2)通过elasticsearch的api函数结合获得的数据源配置属性得到elasticsearch的连接;(3.3)通过elastcisearch的api函数获得elasticsearch的索引index及其类型type;(3.4)通过elastciserch的api函数获取elasticsearch中类型type的mapping属性集合,该属性集合用来作为java实体类的映射属性;(3.5)结合数据源配置类中的是否驼峰、表前缀字段,包名配置类中的实体包名属性,全局配置类中的开发人员、实体类的命名方式、指定生成的主键id的类型生成相应的java实体类;(3.6)结合包名配置类中的Repository包名属性,模板配置类中的Repository类模板属性,全局配置类中的Repository类的命名方式及注入配置类中的自定义的Repository对象属性生成相应的Repository类;(3.7)通过全局配置类中的生成文件输出目录、是否覆盖已有文件、是否打开输出目录,注入配置类中的自定义输出文件将生成的java实体类和Repository类存放到指定位置;(3.8)将生成的java实体类及Repository类放入需要使用的项目的相应目录里进行开发。一种基于java语言的elasticsearch代码生成工具,包括工程建立模块、类包模块、代码执行模块;所述工程建立模块用于创建java工程,引入若干相关的elasticsearch包;所述类包类模块用于在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类;所述代码执行模块用于根据需要配置的信息完成代码的一键生成。进一步地,所述工程建立模块中,引入elasticsearch包的方式如下:(1)在pom.xml里添加elasticsearch的依赖;(2)从elasticsearch官网下载相应的包,将包放入java工程的lib文件夹,通过开发工具将包进行引入;在工程里创建一个类包。进一步地,所述类包类模块中:所述数据源配置类中创建若干属性,包括elasticsearch集群节点、集群名称、elasticsearch索引、索引类型、表前缀、是否驼峰映射,该类主要用于配置数据源的连接信息以及映射的方式类型;所述包名配置类中创建若干属性,包括实体包名、Repository包名配置、路径配置,该类主要用于设置生成实体及Repository类的名称和路径;所述模板配置类中创建若干属性,包括java实体类模板、Repository类模板,该类主要用于设置对需求的实体及Repository类的模板使用,从而达成更自动化的一些功能;所述全局配置类中创建若干属性,包括生成文件输出目录、是否覆盖已有文件、是否打开输出目录、开发人员、实体类的命名方式、Repository类的命名方式、指定生成的主键id的类型,这些属性可以从全局角度配置代码自动生成的功能;所述注入配置类中创建若干属性,包括自定义输出文件、自定义判断是否创建文件,注入自定义的Repository对象。进一步地,所述代码执行模块中,创建代码生成的执行类,在执行类中创建执行方法,执行方法的步骤如下:(1)设置好用户期望配置的数据源配置属性、全局配置属性、包配置属性、模板配置属性、注入配置属性;(2)通过elasticsearch的api函数结合获得的数据源配置属性得到elasticsearch的连接;(3)通过elastcisearch的api函数获得elasticsearch的索引index及其类型type;(4)通过elastciserch的api函数获取elasticsearch中类型type的mapping属性集合,该属性集合用来作为java实体类的映本文档来自技高网
...

【技术保护点】
1.一种基于java语言的elasticsearch代码生成方法,其特征在于,该方法包括以下步骤:步骤1:建立一个java工程,引入若干相关的elasticsearch包,引入方式有两种:(1.1)在pom.xml里添加elasticsearch的依赖;(1.2)从elasticsearch官网下载相应的包,将包放入java工程的lib文件夹,通过开发工具将包进行引入;在工程里创建一个类包。步骤2:在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类:所述数据源配置类中创建若干属性,包括elasticsearch集群节点、集群名称、elasticsearch索引、索引类型、表前缀、是否驼峰映射;所述包名配置类中创建若干属性,包括实体包名、Repository包名配置、路径配置;所述模板配置类中创建若干属性,包括java实体类模板、Repository类模板;所述全局配置类中创建若干属性,包括生成文件输出目录、是否覆盖已有文件、是否打开输出目录、开发人员、实体类的命名方式、Repository类的命名方式、指定生成的主键id的类型;所述注入配置类中创建若干属性,包括自定义输出文件、自定义判断是否创建文件,注入自定义的Repository对象。步骤3:创建代码生成的执行类,在执行类中创建执行方法,执行方法的步骤如下:(3.1)设置用户期望配置的数据源配置属性、全局配置属性、包配置属性、模板配置属性、注入配置属性;(3.2)通过elasticsearch的api函数结合获得的数据源配置属性得到elasticsearch的连接;(3.3)通过elastcisearch的api函数获得elasticsearch的索引index及其类型type;(3.4)通过elastciserch的api函数获取elasticsearch中类型type的mapping属性集合,该属性集合用来作为java实体类的映射属性;(3.5)结合数据源配置类中的是否驼峰、表前缀字段,包名配置类中的实体包名属性,全局配置类中的开发人员、实体类的命名方式、指定生成的主键id的类型生成相应的java实体类;(3.6)结合包名配置类中的Repository包名属性,模板配置类中的Repository类模板属性,全局配置类中的Repository类的命名方式及注入配置类中的自定义的Repository对象属性生成相应的Repository类;(3.7)通过全局配置类中的生成文件输出目录、是否覆盖已有文件、是否打开输出目录,注入配置类中的自定义输出文件将生成的java实体类和Repository类存放到指定位置;(3.8)将生成的java实体类及Repository类放入需要使用的项目的相应目录里进行开发。...

【技术特征摘要】
1.一种基于java语言的elasticsearch代码生成方法,其特征在于,该方法包括以下步骤:步骤1:建立一个java工程,引入若干相关的elasticsearch包,引入方式有两种:(1.1)在pom.xml里添加elasticsearch的依赖;(1.2)从elasticsearch官网下载相应的包,将包放入java工程的lib文件夹,通过开发工具将包进行引入;在工程里创建一个类包。步骤2:在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类:所述数据源配置类中创建若干属性,包括elasticsearch集群节点、集群名称、elasticsearch索引、索引类型、表前缀、是否驼峰映射;所述包名配置类中创建若干属性,包括实体包名、Repository包名配置、路径配置;所述模板配置类中创建若干属性,包括java实体类模板、Repository类模板;所述全局配置类中创建若干属性,包括生成文件输出目录、是否覆盖已有文件、是否打开输出目录、开发人员、实体类的命名方式、Repository类的命名方式、指定生成的主键id的类型;所述注入配置类中创建若干属性,包括自定义输出文件、自定义判断是否创建文件,注入自定义的Repository对象。步骤3:创建代码生成的执行类,在执行类中创建执行方法,执行方法的步骤如下:(3.1)设置用户期望配置的数据源配置属性、全局配置属性、包配置属性、模板配置属性、注入配置属性;(3.2)通过elasticsearch的api函数结合获得的数据源配置属性得到elasticsearch的连接;(3.3)通过elastcisearch的api函数获得elasticsearch的索引index及其类型type;(3.4)通过elastciserch的api函数获取elasticsearch中类型type的mapping属性集合,该属性集合用来作为java实体类的映射属性;(3.5)结合数据源配置类中的是否驼峰、表前缀字段,包名配置类中的实体包名属性,全局配置类中的开发人员、实体类的命名方式、指定生成的主键id的类型生成相应的java实体类;(3.6)结合包名配置类中的Repository包名属性,模板配置类中的Repository类模板属性,全局配置类中的Repository类的命名方式及注入配置类中的自定义的Repository对象属性生成相应的Repository类;(3.7)通过全局配置类中的生成文件输出目录、是否覆盖已有文件、是否打开输出目录,注入配置类中的自定义输出文件将生成的java实体类和Repository类存放到指定位置;(3.8)将生成的java实体类及Repository类放入需要使用的项目的相应目录里进行开发。2.一种基于java语言的elasticsearch代码生成工具,其特征在于,包括工程建立模块、类包模块、代码执行模块;所述工程建立模块用于创建java工程,引入若干相关的elasticsearch包;所述类包类模块用于在类包下建立若干配置类,包括数据源配置类、包名配置类、模板配置类、全局配置类、注入配置类;所述代码执行模块用于根据需...

【专利技术属性】
技术研发人员:杨红飞
申请(专利权)人:杭州费尔斯通科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1