spring-boot-plus V1.2.2 release, 5 Minutes Finish CRUD

Keywords: Java Spring Database xml

Update Log CHANGELOG

[V1.2.2-RELEASE] 2019.08.26 🏇

⭐️ New Features

  • Interceptor Enables Disabled Configuration
  • File upload and download security/privilege control
  • Enable logback.xml log configuration

⚡️ Optimization

  • Change core package directory
  • Download Upload Interceptor
  • logback.xml displays line numbers
  • application.yml Interceptor Configuration Added include-path Interception Path Configuration

📝 Added/Modified

  • Add Upload Interceptor File Upload Global Interceptor
  • Add Download Interceptor File Download Global Interceptor
  • Add Download Handler DefaultDownload Handler File Download Callback Custom Processor
  • Modify config/WebMvcConfig --> core/SpringBootPlusWebMvcConfig
  • Modify Image Controller - > ResouceController, request path / api/resource
  • Add SysUser CRUD

🐞 Bug Fixes

  • Potential Security Vulnerabilities in Fix File Download Path, Filtering.. / Illegal Path Parameters
  • Fix optimized file download, Firefox Chinese garbled problem

📔 Documentation

🔨 Dependency Upgrades

  • pom.xml uses spring-boot-starter-validation to replace hibernate-validator dependencies

5 minutes to complete the addition, deletion and alteration check

1. Create database tables

-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
drop table if exists `sys_user`;
create table sys_user(
    id          bigint                              not null comment 'Primary key',
    name        varchar(20)                         null comment 'User name',
    account     varchar(20)                         not null comment 'Account number',
    pwd         varchar(20)                         not null comment 'Password',
    remark      varchar(200)                        null comment 'Remarks',
    create_time timestamp default CURRENT_TIMESTAMP null comment 'Creation time',
    update_time timestamp                           null comment 'Modification time',
    primary key (`id`),
    constraint sys_user_account_uindex
        unique (account)
) comment 'System user';
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO sys_user (id, name, account, pwd, remark, create_time, update_time) VALUES (1, 'Administrator', 'admin', '123456', 'Administrator Account', '2019-08-26 00:52:01', null);

2. Generating Added, Deleted and Altered Code by Code Generator

Modifying database information

Modify component name/author/database table name/primary key id

/src/test/java/io/geekidea/springbootplus/test/CodeGenerator.java
/**
 * spring-boot-plus Code generator entry class
 * @author geekidea
 * @date 2018-11-08
 */
public class CodeGenerator {
    private static final String USER_NAME = "root";
    private static final String PASSWORD = "root";
    private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
    private static final String DRIVER_URL = "jdbc:mysql://localhost:3306/spring_boot_plus?useUnicode=true&characterEncoding=UTF-8&useSSL=false";   
    // CODE... 
    // ############################ Configuration section start############################
    // Module name
    private static final String MODULE_NAME = "system";
    // author
    private static final String AUTHOR = "geekidea";
    // Generated table name
    private static final String TABLE_NAME = "sys_user";
    // Primary key database column name
    private static final String PK_ID_COLUMN_NAME = "id";
    // Code generation policy true: All/false:SIMPLE
    private static final boolean GENERATOR_STRATEGY = true;
    // Paging List Query Sort true: Sort parameter / false: None
    private static final boolean PAGE_LIST_ORDER = false;
    // ############################ Configuration section end############################
    
    public static void main(String[] args) {
        // Run...
    }
}

3. Start the project

Project entry class

/src/main/java/io/geekidea/springbootplus/SpringBootPlusApplication.java
/**
 * spring-boot-plus Project initiation entry
 * @author geekidea
 * @since 2018-11-08
 */
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
@EnableConfigurationProperties
@EnableAdminServer
@MapperScan({"io.geekidea.springbootplus.**.mapper"})
@SpringBootApplication
public class SpringBootPlusApplication {

    public static void main(String[] args) {
        // Start spring-boot-plus
        ConfigurableApplicationContext context = SpringApplication.run(SpringBootPlusApplication.class, args);
        // Print project information
        PrintApplicationInfo.print(context);
    }

}

4. Access project swagger documents

http://127.0.0.1:8888/swagger-ui.html

5. System users add, delete and modify page Swagger

Posted by cavendano on Thu, 03 Oct 2019 07:42:24 -0700