头图

Project Introduction

JeecgBoot is a low-code platform based on a code generator! Front-end and back-end separation architecture SpringBoot2.x, SpringCloud, Ant Design&Vue, Mybatis-plus, Shiro, JWT support microservices. A powerful code generator allows front-end and back-end code to be generated with one click! JeecgBoot leads the low-code development model (OnlineCoding->Code Generation->Manual MERGE), helping to solve 70% of the repetitive work of Java projects and allowing development to pay more attention to business. It can quickly improve efficiency and save costs without losing flexibility!

Current version : v2.4.6 | 2021-08-16

Source download

Technical documentation

Upgrade log

The main four aspects are optimized: Online form function enhancement, database compatibility optimization, performance optimization, and bottom-level dependency upgrade

New feature upgrade

  • New microservice module jeecg-cloud-sentinel
  • Added OAuth2 login, supporting silent authorization of enterprise WeChat and Dingding
  • Added online user monitoring, support kick function
  • Support custom homepage, configure through enumeration
  • Upgrade the code generator to be compatible with more databases
  • Upgrade the online report paging function to be compatible with more databases
  • Upgrade online data source configuration to support more databases
  • Online form, support authorization by user
  • Online form, department and personnel selection components support custom storage and display fields
  • Online form, support docking with building block report
  • Online form, supports multi-field sorting
  • Online form, support related query and related list display
  • Online form, sql enhanced support to select multiple data
  • Optimized the performance of the dictionary interceptor, transforming the cyclic query into a one-time query
  • @Dict dictionary translation, add redis cache
  • Further optimize the front end, compress online js lib to reduce 1M
  • Solve IE compatibility issues
  • Remove durid ads
  • Move the interface signature key string to the configuration file
  • SQL injection vulnerability handling
  • Query filter, the value is comma, space, error
  • Multi-tenant configuration upgrade
  • The tool class hutool reduces dependencies and only references necessary modules
  • The Demo module is changed to a multi-tenant example by default
  • Code generator database configuration does not support password encryption
  • Primary key strategy modification IdType.ID_WORKER_STR --> IdType.ASSIGN_ID
  • The gateway defaults to the database and adds swagger to close the configuration

Support database

Online report compatibility
  • mysql 、mariadb 、oracle 、db2 、h2 、hsql 、sqlite 、postgresql 、sqlserver
  • Dameng Database, Virtual Valley Database, Renda Jincang, Nanda General
  • Phoenix 、presto 、Gauss 、Firebird、clickhouse 、 OceanBase
Online form compatible
  • mysql, mariadb, oracle, postgresql, sqlserver, Dameng database
Code generator compatible
  • mysql、mariadb、sqlserver、oracle、postgresql、sqlite、polardb、clickhouse、edb
  • Dameng Database, Renda Jincang Database, Huawei Goss, Derby

Upgrade the underlying dependencies

  • jimureport-spring-boot-starter 1.3.4-beta >> 1.3.78
  • autopoi 1.3.2 >> 1.3.5
  • jeewx-api 1.4.3 >> 1.4.5
  • codegenerate 1.3.2 >> 1.3.6
  • mybatis-plus 3.4.1 >> 3.4.3.1
  • knife4j-spring-boot-starter:2.0.8 --> 2.0.9
  • fastjson 1.2.75 >> 1.2.76
  • redisson 3.13.6 >> 3.16.1

Issues fix

  • Modify avatar modal #2593
  • 2.4.5 After the upgrade, the back-end sorting error #2639
  • How does JS enhancement realize that clicking a custom button on the list page of a form pops up a new page of another form? #2580
  • After the classification dictionary is modified, the content will not be refreshed automatically #I3TO07
  • How does JS enhancement restrict editing and deleting based on conditions? #2592
  • Restricted deletion of the list page has no effect! Limited editing is useful #I3V547
  • In the online form, the drop-down checkbox control cannot be queried #I3N16Y
  • The online form is developed after the update from 2.4.3, js is enhanced to use the beforeEdit method, the editing click is invalid, and the beforeEdit can be deleted to restore #2647
  • DictAspect dictionary parsing performance issue #I3IB91
  • online form control user selection control #2619
  • Regarding the issue of token naming #2232
  • Online form data source configuration, database type identification error #2671
  • Online form data source configuration, does not support database password encryption #2672
  • 2.4.5 Foreground timing tasks cannot turn pages #2666
  • Department inquiry question #I3UD06
  • Timed tasks, page failure when the number exceeds 12 #I3Y1G5
  • The multi-tenant server checks the request header #2598
  • LoadData in JeecgListMixin.js does not handle request timeout #2584
  • The problem that the front-end user selects the radio can not be left blank #2610
  • on OL arrangement logic 1611a0d00954b9 #1785
  • When adding a field in the online form, the focus will not be automatically positioned to the latest row of data #2511
  • [Online form development] When adding database fields, can the order be placed after the ID instead of the department to which they belong? #1823
  • pgsql database code generation, after configuration, the obtained table is #2101
  • postgresql mode problem #2656
  • After the database is changed to postgresql, the imported database table cannot be used #I3VN62
  • The permissions of the master and slave tables in the online form affect each other #2680
  • In the Online report configuration, when the report SQL statement is multi-line, it is impossible to select all the SQL statements #2674
  • Automatic task cron expression generated problem #2696
  • 2.4.5 Is it possible to set automatic login #I3Z8SE
  • Sign signature verification failed #2728
  • After jeecgboot uses Damon database, the online code generation module configuration database connection cannot be connected #2725
  • The front end found BUG #I3ZL4T
  • The latest code cannot be opened on in the development environment 1611a0d0095659 #2812
  • About PostgreSQL data source connection problem #2747
  • JEditableTable.formTypes.upload component shows error #2691
  • The front-end components of provinces, cities and counties are too old, and some counties and districts are not maintained #I40MGS
  • The @EXCEL annotation parameter in AutoPOI does not have #I3ZE9E
  • Users under frozen tenants can still log in #2796
  • When deleting a tenant, it is not verified whether the tenant has been referenced #2795
  • JVxeTable use loadNewData problem #2784
  • JS enhancement, beforeDelete is invalid #I42OAU
  • IE11 opens the login page, but it cannot be displayed normally, and it keeps turning #2841
  • The front-end components of provinces, cities and counties are too old, and some counties and districts are not maintained #I40MGS
  • The content of the provincial and municipal component is missing #I4074O
  • Code optimization and specification (ExcelImportServer.class) #2783
  • Multi-tenant security issues #2814
  • The imported mixins lack the loading animation, and when the data volume is relatively large, there is no response during the import process. It is recommended to add this.loading = true to control #I3O4YL
  • Obtain the query of the table fields that are allowed to be exported according to the data permission prefix. It is expected that the query is a piece of data. Should the user have two roles, two roles are found #I3ZKGU
  • beforeDelete is invalid #2815
  • 2.4.5 Online embedded sub-table, when setting query by time range, the date selection box is superimposed on #2764
  • , the online form setting button is bound to JAVA enhancement or SQL enhancement, and cannot be selected multiple times. You can only select one at a time 1611a0d0095da9 #2766
  • SQL enhancement problem, if you operate multiple rows, such as in the screenshot, after multiple selections, you can activate multiple rows of checked data. #2743
  • How to use custom buttons in jeecg, after selecting one or more rows of data, print the jimu receipt, but the tutorial is not found, please give pointers #2739
  • Log in to the system, system management-system notice-new addition-stored XSS #I40W1W
  • has no status for the local personnel, which results in unable to log in after synchronization 1611a0d0095e8a #I3ZC2L
  • Nacos modified the port number and does not take effect, and the default port is 8848 #2819
  • Using autopoi to import prompts that the method is missing #2868
  • JPopup component used in modal error #2729
  • 2.4.5 No use record management No synchronization nailing function I44JE9
  • Mybatis plus 3.4.1 version @SqlParser annotations are out of date, have you considered upgrading to mybatis plus 3.4.3 in the near future? #2840
  • The total data exported in the online report is inconsistent with the one displayed on the page #2852
  • BusinessException can the front end prompt abnormal information #I42UOQ
  • The third-party APP message test problem "The field is too long and exceeds the length of the database field" Solution #2898

Why choose JeecgBoot?

"Xiaopuyuan" in the open source industry surpasses traditional business platforms. Leading the low-code development model (OnlineCoding->Code Generator->Manual MERGE), low-code development and flexible coding at the same time, can help solve 70% of the repetitive work of Java projects, allowing development to pay more attention to business. It can quickly improve development efficiency and save costs without losing flexibility.
  • Adopting the latest mainstream front-rear separation framework (SpringBoot+Mybatis-plus+Ant-Design+Vue), easy to use; low dependency on the code generator, flexible expansion capabilities, and flexible implementation of secondary development;
  • The development efficiency is very high. The code generator, single-table data model and one-to-many (parent-child table), tree list and other data models are used. Add, delete, modify and check functions are automatically generated, and the menu configuration is directly used (both front-end code and back-end code are one-click generate);
  • The code generator provides a powerful template mechanism and supports custom template styles. Currently provides four sets of style templates (two sets for single table, two sets for one-to-many)
  • Encapsulate basic functions such as users, roles, menus, organizations, data dictionaries, and online timing tasks. Powerful permissions mechanism, support access authorization, button permissions, data permissions, form permissions, etc.
  • Zero-code online development capabilities, online configuration forms, online configuration reports, online configuration charts, online design forms
  • Commonly used packages, various tools (timed tasks, SMS interface, email sending, Excel import and export, etc.), basically meet 80% of project requirements
  • Simple Excel import and export, support single table export and one-to-many table mode export, the generated code comes with import and export functions
  • Integrated simple report tool, image report and data export is very convenient, it can generate graphic reports, pdf, excel, word and other reports very conveniently;
  • Using front and back separation technology, the page UI is exquisite, and the common components are encapsulated: time, row table control, interception display control, report component, editor, etc.
  • Query filter: the query function is automatically generated, and the background dynamically spells SQL to add query conditions; supports multiple matching methods (full match/fuzzy query/inclusive query/non-matching query);
  • Data authority (refined data authority control, control to the row level, list level, form field level, realize different people see different data, different people operate different fields on the same page
  • Online configuration reports (no coding is required, through online configuration, to achieve graphs, histograms, data and other reports)
  • Page verification is automatically generated (must input, digital verification, amount verification, time and space, etc.);
  • Provide a single sign-on CAS integration solution, and a complete docking code has been provided in the project
  • Form designer, support user-defined form layout, support single table, one-to-many form, support select, radio, checkbox, textarea, date, popup, list, macro and other controls
  • Professional interface docking mechanism, unified restful interface mode, integrated swagger-ui online interface document, Jwt token security verification, convenient for client docking
  • Interface security mechanism, which can finely control interface authorization, which is very easy to realize the control of different clients only looking at their own data
  • Advanced combination query function, online configuration supports related query of main and sub-tables, and can save query history
  • Provide various system monitoring, real-time tracking system operation status (monitoring Redis, Tomcat, jvm, server information, request tracking, SQL monitoring)
  • Message center (support SMS, email, WeChat push, etc.)
  • Integrated Websocket message notification mechanism
  • Provide APP release plan:
  • Support multiple languages and provide international solutions;
  • Data change record log, which can record the content of each data change, and view historical changes through the version comparison function
  • The platform UI is powerful, which realizes mobile adaptation
  • Platform homepage style, providing multiple combination modes, supporting custom styles
  • Provide simple and easy-to-use printing plug-in, support various browsers such as Google, IE browser
  • Rich sample code, provide many learning case references
  • Using maven sub-module development method
  • Support menu dynamic routing
  • Authority control adopts RBAC (Role-Based Access Control, role-based access control)

System function module

├─系统管理
│  ├─用户管理
│  ├─角色管理
│  ├─菜单管理
│  ├─权限设置(支持按钮权限、数据权限)
│  ├─表单权限(控制字段禁用、隐藏)
│  ├─部门管理
│  ├─我的部门(二级管理员)
│  └─字典管理
│  └─分类字典
│  └─系统公告
│  └─职务管理
│  └─通讯录
│  └─多租户管理
├─Online在线开发(低代码)
│  ├─Online在线表单 - 功能已开放
│  ├─Online代码生成器 - 功能已开放
│  ├─Online在线报表 - 功能已开放
│  ├─Online在线图表(暂不开源)
│  ├─Online图表模板配置(暂不开源)
│  ├─Online布局设计(暂不开源)
│  ├─多数据源管理 - 功能已开放
├─积木报表设计器(低代码)
│  ├─打印设计器 - 功能已开放
│  ├─数据报表设计 - 功能已开放
│  ├─图形报表设计(支持Echart) - 功能已开放
│  ├─大屏设计器(暂不开源)
├─消息中心
│  ├─消息管理
│  ├─模板管理
├─代码生成器(低代码)
│  ├─代码生成器功能(一键生成前后端代码,生成后无需修改直接用,绝对是后端开发福音)
│  ├─代码生成器模板(提供4套模板,分别支持单表和一对多模型,不同风格选择)
│  ├─代码生成器模板(生成代码,自带excel导入导出)
│  ├─查询过滤器(查询逻辑无需编码,系统根据页面配置自动生成)
│  ├─高级查询器(弹窗自动组合查询条件)
│  ├─Excel导入导出工具集成(支持单表,一对多 导入导出)
│  ├─平台移动自适应支持
├─系统监控
│  ├─Gateway路由网关
│  ├─性能扫描监控
│  │  ├─监控 Redis
│  │  ├─Tomcat
│  │  ├─jvm
│  │  ├─服务器信息
│  │  ├─请求追踪
│  │  ├─磁盘监控
│  ├─定时任务
│  ├─系统日志
│  ├─消息中心(支持短信、邮件、微信推送等等)
│  ├─数据日志(记录数据快照,可对比快照,查看数据变更情况)
│  ├─系统通知
│  ├─SQL监控
│  ├─swagger-ui(在线接口文档)
│─报表示例
│  ├─曲线图
│  └─饼状图
│  └─柱状图
│  └─折线图
│  └─面积图
│  └─雷达图
│  └─仪表图
│  └─进度条
│  └─排名列表
│  └─等等
│─大屏模板
│  ├─作战指挥中心大屏
│  └─物流服务中心大屏
│─常用示例
│  ├─自定义组件
│  ├─对象存储(对接阿里云)
│  ├─JVXETable示例(各种复杂ERP布局示例)
│  ├─单表模型例子
│  └─一对多模型例子
│  └─打印例子
│  └─一对多TAB例子
│  └─内嵌table例子
│  └─常用选择组件
│  └─异步树table
│  └─接口模拟测试
│  └─表格合计示例
│  └─异步树列表示例
│  └─一对多JEditable
│  └─JEditable组件示例
│  └─图片拖拽排序
│  └─图片翻页
│  └─图片预览
│  └─PDF预览
│  └─分屏功能
│─封装通用组件    
│  ├─行编辑表格JEditableTable
│  └─省略显示组件
│  └─时间控件
│  └─高级查询
│  └─用户选择组件
│  └─报表组件封装
│  └─字典组件
│  └─下拉多选组件
│  └─选人组件
│  └─选部门组件
│  └─通过部门选人组件
│  └─封装曲线、柱状图、饼状图、折线图等等报表的组件(经过封装,使用简单)
│  └─在线code编辑器
│  └─上传文件组件
│  └─验证码组件
│  └─树列表组件
│  └─表单禁用组件
│  └─等等
│─更多页面模板
│  ├─各种高级表单
│  ├─各种列表效果
│  └─结果页面
│  └─异常页面
│  └─个人页面
├─高级功能
│  ├─系统编码规则
│  ├─提供单点登录CAS集成方案
│  ├─提供APP发布方案
│  ├─集成Websocket消息通知机制
│─流程模块功能 (暂不开源)
│  ├─流程设计器
│  ├─在线表单设计
│  └─我的任务
│  └─历史流程
│  └─历史流程
│  └─流程实例管理
│  └─流程监听管理
│  └─流程表达式
│  └─我发起的流程
│  └─我的抄送
│  └─流程委派、抄送、跳转
│  └─。。。
└─其他模块
   └─更多功能开发中。。

System screenshot

PC side






Mobile terminal


PAD side




Report performance




Big screen effect

Welcome to Tucao, welcome to star~


JEECG低代码平台
664 声望84 粉丝