org.hswebframework.web:hsweb-commons-service-api

通用增删改查-通用服务接口模块

License

License

GroupId

GroupId

org.hswebframework.web
ArtifactId

ArtifactId

hsweb-commons-service-api
Last Version

Last Version

3.0.11
Release Date

Release Date

Type

Type

jar
Description

Description

通用增删改查-通用服务接口模块

Download hsweb-commons-service-api

How to add to project

<!-- https://jarcasting.com/artifacts/org.hswebframework.web/hsweb-commons-service-api/ -->
<dependency>
    <groupId>org.hswebframework.web</groupId>
    <artifactId>hsweb-commons-service-api</artifactId>
    <version>3.0.11</version>
</dependency>
// https://jarcasting.com/artifacts/org.hswebframework.web/hsweb-commons-service-api/
implementation 'org.hswebframework.web:hsweb-commons-service-api:3.0.11'
// https://jarcasting.com/artifacts/org.hswebframework.web/hsweb-commons-service-api/
implementation ("org.hswebframework.web:hsweb-commons-service-api:3.0.11")
'org.hswebframework.web:hsweb-commons-service-api:jar:3.0.11'
<dependency org="org.hswebframework.web" name="hsweb-commons-service-api" rev="3.0.11">
  <artifact name="hsweb-commons-service-api" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.hswebframework.web', module='hsweb-commons-service-api', version='3.0.11')
)
libraryDependencies += "org.hswebframework.web" % "hsweb-commons-service-api" % "3.0.11"
[org.hswebframework.web/hsweb-commons-service-api "3.0.11"]

Dependencies

compile (4)

Group / Artifact Type Version
org.hswebframework.web : hsweb-commons-dao-api jar 3.0.11
org.hswebframework : hsweb-easy-orm-rdb jar
org.hswebframework.web : hsweb-commons-entity jar 3.0.11
org.codehaus.groovy : groovy-all pom 2.4.15

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.16.18

test (3)

Group / Artifact Type Version
junit : junit jar 4.12
org.mockito : mockito-all jar 1.10.19
ch.qos.logback : logback-classic jar 1.1.7

Project Modules

There are no modules declared in this project.

hsweb 后台管理基础框架

Maven Central Codecov Build Status License

贡献代码 用户手册

应用场景

  1. 完全开源的后台管理系统.
  2. 细粒度(按钮,行,列)权限控制的后台管理系统.
  3. 模块化的后台管理系统.
  4. 功能可拓展的后台管理系统.
  5. 集成各种常用功能的后台管理系统.
  6. 前后分离的后台管理系统.

注意: 项目主要基于spring-boot,mybatis. 在使用hsweb之前,你应该对spring-boot有一定的了解.

项目模块太多?不要被吓到.我们不推荐将本项目直接clone后修改,运行.而是使用maven依赖的方式使用hsweb. 选择自己需要的模块进行依赖,正式版发布后,所有模块都将发布到maven中央仓库. 你可以参照demo进行使用.

文档

各个模块的使用方式查看对应模块下的 README.md,在使用之前, 你可以先粗略浏览一下各个模块,对每个模块的作用有大致的了解.

核心技术选型

  1. Java 8
  2. Maven3
  3. Spring Boot 1.5.x
  4. Mybatis
  5. Hsweb Easy Orm (使用hsweb-easy-orm拓展Myabtis实现动态条件)

模块简介

模块 说明 进度
hsweb-authorization 权限控制 100%
hsweb-commons 基础通用功能 100%
hsweb-concurrent 并发包,缓存,锁,计数器等 80%
hsweb-core 框架核心,基础工具类 100%
hsweb-datasource 数据源 100%
hsweb-logging 日志 100%
hsweb-starter 模块启动器 100%
hsweb-system 系统常用功能 80%
hsweb-thirdparty 第三方插件 100%

核心特性

  1. DSL风格,可拓展的通用curd,支持前端直接传参数,无需担心任何sql注入.
  //where name = #{name} limit 0,20
  createQuery().where("name",name).list(0,20);
  
  //update s_user set name = #{user.name} where id = #{user.id}
  createUpdate().set(user::getName).where(user::getId).exec();
  1. 灵活的权限控制
@PostMapping("/account")
@Authorize(permission="account-manager",action="add")
public ResponseMessage<Sring> addAccount(@RequestBody Account account){
  return ok(accountService.addAccount(account));
}

@GettMapping("/account")
@Authorize(permission="account-manager",action="query",dataAccess=@RequiresDataAccess)//开启数据权限控制
public ResponseMessage<PageResult<Account>> addAccount(QueryParamEntity query){

  //用户设置了数据权限后,query的参数属性将被修改
  
  return ok(accountService.selectPager(query));
}

  1. 灵活的模块版本维护脚本

resources/hsweb-starter.js

//组件信息
var info = {
    groupId: "com.company",
    artifactId: "module-name",
    version: "1.0.2",
    website: "company.com",
    author: "作者",
    comment: "模块名称"
};

//版本更新信息
var versions = [
    {
        version: "1.0.2", //当info.version大于等于此版本号时,执行upgrade
        upgrade: function (context) {
            var database = context.database;
            //增加冻结金额字段
            database.createOrAlter("acc_account")
                .addColumn().name("freeze_balance").jdbcType(JDBCType.BIGINT).comment("冻结金额").commit()
                .comment("资金账户")
                .commit();
        }
    }

];
var JDBCType = java.sql.JDBCType;

//首次引入依赖,将执行安装操作
function install(context) {
    var database = context.database;
    database.createOrAlter("acc_account")
        .addColumn().name("id").varchar(32).notNull().primaryKey().comment("ID").commit()
        .addColumn().name("account_no").varchar(32).notNull().comment("资金账户号").commit()
        //更多字段
        //索引
        .index().name("idx_acc_account_no")
        .column("account_no").commit()//account_no索引
        .comment("资金账户").commit();
}

//设置依赖,固定代码,无需修改
dependency.setup(info)
    .onInstall(install) //安装时执行
    .onUpgrade(function (context) { //更新时执行
        var upgrader = context.upgrader;
        upgrader.filter(versions) //过滤版本信息
            .upgrade(function (newVer) { //执行更新
                newVer.upgrade(context);
            });
    })
    .onUninstall(function (context) { //卸载时执行

    });
org.hswebframework.web

企业后台管理系统基础框架

hsweb(haʊs wɛb)后台管理基础框架,快速开发企业后台管理应用。

Versions

Version
3.0.11
3.0.10
3.0.9
3.0.8
3.0.7
3.0.6
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0