All Projects → robinhood-jim → JavaFramework

robinhood-jim / JavaFramework

Licence: Apache-2.0 license
Simple Java Framework,designed for easily develop Spring based java program.Support Bigdata And metadata management.A common elasticsearch comm query tool and so on.

Programming Languages

java
68154 projects - #9 most used programming language
SCSS
7915 projects
Less
1899 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to JavaFramework

Recommendsys
推荐项目(实时推荐和离线推荐)
Stars: ✭ 198 (+1137.5%)
Mutual labels:  hadoop
Hadoop Attack Library
A collection of pentest tools and resources targeting Hadoop environments
Stars: ✭ 228 (+1325%)
Mutual labels:  hadoop
ambari-hdp-docker
Dockerfiles and Docker Compose for HDP 2.6 with Blueprints
Stars: ✭ 23 (+43.75%)
Mutual labels:  hadoop
Shifu
An end-to-end machine learning and data mining framework on Hadoop
Stars: ✭ 207 (+1193.75%)
Mutual labels:  hadoop
Hadoop Connectors
Libraries and tools for interoperability between Hadoop-related open-source software and Google Cloud Platform.
Stars: ✭ 218 (+1262.5%)
Mutual labels:  hadoop
docker-hadoop
Docker image for main Apache Hadoop components (Yarn/Hdfs)
Stars: ✭ 59 (+268.75%)
Mutual labels:  hadoop
Nutch
Apache Nutch is an extensible and scalable web crawler
Stars: ✭ 2,277 (+14131.25%)
Mutual labels:  hadoop
orion
Management and automation platform for Stateful Distributed Systems
Stars: ✭ 77 (+381.25%)
Mutual labels:  hadoop
Luigi
Luigi is a Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
Stars: ✭ 15,226 (+95062.5%)
Mutual labels:  hadoop
kafka-connect-fs
Kafka Connect FileSystem Connector
Stars: ✭ 107 (+568.75%)
Mutual labels:  hadoop
Facebook Hive Udfs
Facebook's Hive UDFs
Stars: ✭ 213 (+1231.25%)
Mutual labels:  hadoop
Sparkrdma
RDMA accelerated, high-performance, scalable and efficient ShuffleManager plugin for Apache Spark
Stars: ✭ 215 (+1243.75%)
Mutual labels:  hadoop
bigdatatutorial
bigdatatutorial
Stars: ✭ 34 (+112.5%)
Mutual labels:  hadoop
Javaorbigdata Interview
Java开发者或者大数据开发者面试知识点整理
Stars: ✭ 203 (+1168.75%)
Mutual labels:  hadoop
RecommendationEngine
Source code and dataset for paper "CBMR: An optimized MapReduce for item‐based collaborative filtering recommendation algorithm with empirical analysis"
Stars: ✭ 43 (+168.75%)
Mutual labels:  hadoop
Awesome Learning
实践源码库:https://github.com/jast90/bigdata 。 微信搜索Jast关注公众号,获取最新技术分享😯。
Stars: ✭ 197 (+1131.25%)
Mutual labels:  hadoop
Devops Bash Tools
550+ DevOps Bash Scripts - AWS, GCP, Kubernetes, Kafka, Docker, APIs, Hadoop, SQL, PostgreSQL, MySQL, Hive, Impala, Travis CI, Jenkins, Concourse, GitHub, GitLab, BitBucket, Azure DevOps, TeamCity, Spotify, MP3, LDAP, Code/Build Linting, pkg mgmt for Linux, Mac, Python, Perl, Ruby, NodeJS, Golang, Advanced dotfiles: .bashrc, .vimrc, .gitconfig, .screenrc, .tmux.conf, .psqlrc ...
Stars: ✭ 226 (+1312.5%)
Mutual labels:  hadoop
beanszoo
Distributed Java micro-services using ZooKeeper
Stars: ✭ 12 (-25%)
Mutual labels:  hadoop
hadoop-ansible
Install hadoop cluster with ansible
Stars: ✭ 35 (+118.75%)
Mutual labels:  hadoop
phoenix
Apache Phoenix / Hbase Spring Boot Microservices
Stars: ✭ 23 (+43.75%)
Mutual labels:  hadoop

Simple Java Frame V1.0 Slightly Framework design to support Spring based java or Bigdata program.

Build Status CircleCI license

1.Introduction

I.This project is base on Spring Framework and has four modules:
	|----------------------------------------------------------------------------------------------------|
	| Module   | Description                                                                             |
	|----------------------------------------------------------------------------------------------------|
	| Core     | the core class include data access layer basic class(model,dao,service) and  etc.       |
	|----------------------------------------------------------------------------------------------------|
	| Comm     | FileSystem Access tool(local/vfs),support FileFormat(csv/xml/json/avro/parquet/protobuf)|
	|          | ,support Compress Format(gzip/bzip2/snappy/lzo/zip/lzma/lz4)                            |
	|          | ,read and write excel,read word or PowerPoint                                           |
	|----------------------------------------------------------------------------------------------------|
	|Hadooptool|FileSystem Access tool(hdfs), comm tool to access to HDFS,Hbase,Hive,Mongdb and etc      |
	|----------------------------------------------------------------------------------------------------|
	|Example   |springmvc config based and spring boot based Example;                                    |
	|----------------------------------------------------------------------------------------------------|
	|Web       |struts1,struts2 and springmvc support web component and required class.                  |
	|----------------------------------------------------------------------------------------------------|
	|Webui     |Spring Boot with Oauth2 Thymeleaf Example;                                               |
	|----------------------------------------------------------------------------------------------------|
	|Estool    | ElasticSearch Comm Query tool                                                           |
	|----------------------------------------------------------------------------------------------------|
	|Tracer    | Zipkin Brave tracing,Can trace All Database and Record parameters                      |
	|----------------------------------------------------------------------------------------------------|

II. Special feature
    a.A user defined xml Query config system,similar to mybatis,but easy config.
    b.Support defined annotation or jpa annotation in JdbcDao with ORM.
    c. BaseAnnotationService can access DB with minimize code,and use transaction with annotation.
    d.A common db access meta and util,can access all kind of db.
	e.Spring cloud based WebUI
	f.support Hadoop plateform

It is available under the terms of either the Apache Software License 2.0 or the Eclipse Public License 1.0.

2.Development

I.Model Layer:Simple ORM tool, Support JAVA JPA or my BaseObject Annotation
    Demostration:(support Composite primary key) 
    1.Model Class
        exmaple: core/src/test/java/com/robin/core/test/model
        TestJPaModel Model annotation with java JPA
        TestModel model annotation with My model definition
        TestLob  support for clob and blob
    usage:
        1.create class extends BaseObject;
        2.create parameter mapping DB cloumns
        using annotation
        @MappingEnity 
             -------------------------------------------------------------------
            |parameter           |reference                                     |
            |table               |tableName                                     |
            |schema              |specify schema                                |
            |jdbcDao             |Specify JdbcDao(can switch datasource)        |                       |
            --------------------------------------------------------------------
        @MappingField
            ----------------------------------------------------------------------------------------
            |parameter           |reference                                                         |
            |field               |DB column name,if java param same as columnName,can unsign        |
            |primary             |if column is primary,set "1"                                      |
            |increment           |if column is autoincrement,set "1"(MySql/SqlServcer/Postgre/DB2)  |
            |sequenceName        |column insert with sequence,set sequenceName                      |
            |required            |column is not null                                                |
            |datatype            |if column is clob or blob,set "clob" or "blob"                    |
            |precise             |precise                                                           |
            |scale               |scale                                                             |
            |length              |length                                                            |
            ----------------------------------------------------------------------------------------
         when save or update,Entity will verify use Annotation
         
         Composite Primary Key,see example core/src/test/java/com/robin/core/test/model/TestMutiPK
            
    2.Dao Layer:
        use com.robin.core.base.dao.JdbcDao,no need to Generate new Class
        
    3.Service Layer
        exmaple: core/src/test/java/com/robin/core/test/service 
        base class:
        main function
            ---------------------------------------------------------------------------------
            |function name           |description                                           |
            |saveEntity              |insert to DB                                           |
            |updateEntity            |update to DB                                           |
            |deleteEntity            |delete by key array                                    |
            |getEntity               |select by id                                           |
            |queryByField            |query with specify column and value                    |
            |queryBySelectId         |query with config query                                |
            ---------------------------------------------------------------------------------    
    
    4.Query Configuration XML        
        4.1 Config Spring Bean
            using Config file                
                <bean id="queryFactory" class="com.robin.core.query.util.QueryFactory" autowire="byName">
                    	<property name="xmlConfigPath" value="classpath:query"></property>
                </bean>
            xmlConfigPath support three input
                I.if not assign value,read config xml from classpath:queryConfig
                II. classpath:query  
                III.jarpath:query    read config from jar base Path with relative path
                
            using config class
                @Bean(name="queryFactory")
                public QueryFactory getQueryFactory(){
                     QueryFactory factory=new QueryFactory();
                     factory.setXmlConfigPath(queryConfigPath);
                     return factory;
                }
        4.1 config XML File
            in  xmlConfigPath Path ,add xml file
            content
                <SQLSCRIPT ID="$_GETCODESET">
                    <FROMSQL>from t_sys_code a,t_sys_codeset b where a.CS_ID=b.ID and ${queryString}</FROMSQL>
                	<FIELD>a.ITEM_NAME as ITEMNAME,a.ITEM_VALUE as ITEMVALUE</FIELD>
                </SQLSCRIPT>
            SQLSCRIPT ID refrer to   queryBySelectId selectId.example see core test.    
	5.mybatis like QueryMapper
		<mapper namespace="com.robin.test.query1">
		<resultMap id="rsMap1" type="com.robin.core.test.model.TestModel">
			<result column="id" property="id" jdbcType="BIGINT" />
			<result column="name" property="name" jdbcType="VARCHAR" />
			<result column="code_desc" property="description" jdbcType="VARCHAR" />
			<result column="cs_id" property="csId" jdbcType="BIGINT" />
			<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
		</resultMap>
		<sql id="sqlpart1">
			id,name,code_desc,cs_id,create_time
		</sql>
		<sql id="sqlpart2">
			name,code_desc,cs_id,create_time
		</sql>
		<select id="select1" resultMap="rsMap1">
			select
			<include refid="sqlpart1" />
			 from t_test where 1=1
			<script lang="js" id="test1" resultMap="rsMap1">
				var returnstr="";
				if(name!=null){
					returnstr+=" and name like :name";
				}
				if(description!=null){
					returnstr+=" and code_desc like :description";
				}
				if(csId!=null){
					returnstr+=" and cs_id=:csId";
				}
				returnstr;
			</script>
		</select>
		<insert id="insert1" resultMap="rsMap1" parameterType="com.robin.core.test.model.TestModel" useGeneratedKeys="true" keyProperty="id">
			insert into t_test (
			<script lang="js" id="test2">
				var returnstr="";
				if(name!=null){
					returnstr+="name,"
				}
				if(description!=null){
					returnstr+="code_desc,"
				}
				if(csId!=null){
					returnstr+="cs_id,"
				}
				returnstr+="create_time";
			</script>
			) values (
			<script lang="js" id="test3">
				var returnstr="";
				if(name!=null){
					returnstr+=":name,";
				}
				if(description!=null){
					returnstr+=":description,";
				}if(csId!=null){
					returnstr+=":csId,";
				}
				returnstr+="sysdate()";
			</script>
			)
		</insert>
		<batch id="batch1" resultMap="rsMap1" parameterType="com.robin.core.test.model.TestModel">
			insert into t_test
			<include refid="sqlpart2" />
			values (:name,:description,:csId,sysdate())
		</batch>
		<update id="update1" resultMap="rsMap1" parameterType="com.robin.core.test.model.TestModel">
			update t_test set
			<script lang="js" id="test4">
				var returnstr="";
				if(name!=null){
					returnstr+="name=:name,";
				}
				if(description!=null){
					returnstr+="code_desc=:description,";
				}
				if(csId!=null){
					returnstr+="cs_id=:csId,";
				}
				returnstr.substr(0,returnstr.length-1);
			</script>
			  where id=:id
		</update>
		<delete id="del1" parameterType="">

		</delete>
	</mapper>
	no need to generate Mapper class,Only need QueryMapper xml file
	exmaple: core/src/test/java/com/robin/core/test/db/JdbcDaoTest  testQueryAndInsertMapper
	
	insert update delete segement support script rather than ognl
            
    4.Controller layer
        BaseCrudController basic Single Model base controller, exmaple see example/config-exmaple
		BaseCrudDhtmlxController dhtmlxGrid base controller,make it easy to develop web and controller.
		
	upon feature aim to simplify the work to develop standard MVC java code.
        
II. Bigdata supprot
	hadooptool: 
		HDFS tool: com.robin.hadoop.hdfs  can access HDFS with kerberos security
		Hbase tool: com.robin.hadoop.hbase hbase tool 
		Cassandra tool : CassandraUtils
		
III. Spring cloud support
WebUI simple webui base on dhtmlxGrid 5.1 with spring boot native 
related project in my another project microservices
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].