io.github.wuda0112:foundation-lang

基于数据库设计,维护数据库定义的模型

License

License

GroupId

GroupId

io.github.wuda0112
ArtifactId

ArtifactId

foundation-lang
Last Version

Last Version

1.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

基于数据库设计,维护数据库定义的模型

Download foundation-lang

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.wuda0112/foundation-lang/ -->
<dependency>
    <groupId>io.github.wuda0112</groupId>
    <artifactId>foundation-lang</artifactId>
    <version>1.0.2</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.wuda0112/foundation-lang/
implementation 'io.github.wuda0112:foundation-lang:1.0.2'
// https://jarcasting.com/artifacts/io.github.wuda0112/foundation-lang/
implementation ("io.github.wuda0112:foundation-lang:1.0.2")
'io.github.wuda0112:foundation-lang:jar:1.0.2'
<dependency org="io.github.wuda0112" name="foundation-lang" rev="1.0.2">
  <artifact name="foundation-lang" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.wuda0112', module='foundation-lang', version='1.0.2')
)
libraryDependencies += "io.github.wuda0112" % "foundation-lang" % "1.0.2"
[io.github.wuda0112/foundation-lang "1.0.2"]

Dependencies

compile (5)

Group / Artifact Type Version
junit : junit jar 4.12
org.projectlombok : lombok jar 1.18.12
com.google.guava : guava jar 20.0
org.apache.commons : commons-lang3 jar 3.9
org.apache.commons : commons-collections4 jar 4.4

Project Modules

There are no modules declared in this project.

---Java中台项目,Web开发也能面向对象编程,拒绝面条代码。---

数据库设计

持续更新中......

系统设计文档

包含数据库设计文档,系统约束说明,专有名词说明等等,持续更新中......

wiki

quick start

模块简介

  • foundation-lang: 定义了很多工具类,常用的与业务无关的基础类,比如,树形结构Snowflake唯一ID生成器等等。没有数据库相关的维护。
  • foundation-jooq: 使用jooq作为ORM框架,因此,在这个模块中封装了很多逻辑,并且代码生成也在这个模块中
  • foundation-core: 所有的数据库管理都在这个模块中,根据数据库的Scheme分类,对应相应的程序Package,包括
    • commons: 用于维护与业务无关,通用的数据库表,比如维护email,phone,通用的实体属性等
    • property: 通用的属性,比如电商系统中,商品的属性
    • DataType: 自定义数据类型,和Property结合,可以定义Property的数据类型
    • item: 维护Item模块,Item可以表示很多概念,比如最常见的商品
    • menu: 角色的菜单权限,可以实现类似 Windows 的文件系统的权限分配效果
    • store: 维护店铺模块
    • user: 维护用户体系,最主要的就是维护数据库表的完整性
    • 持续更新中......

推荐的优势

  • 数据库中台项目,不耦合业务,基于这个中台可以发展出各种业务
  • 像使用开源组件一样,100%面向对象编程,绝对不是dao,mapper这样一路下来的面条代码
  • 数据库设计很抽象,不为特点业务开发,比如像权限体系,很多都是user-role这样的模式,而我们这里使用subject,target,action等这样的抽象概念,参考JAAS,几乎可以表示所有的权限体系。
  • 丰富的文档,注释

Versions

Version
1.0.2