Util应用框架快速入门(一)- 创建示例数据库

快速入门

快速入门将引导你迅速了解Util应用框架的开发流程.

前置条件

  • 准备下列任意一种数据库:
    • Sql Server
    • PostgreSql
    • MySql
  • 下载Util应用框架配套生成器项目.

开发流程概述

  1. 创建代码生成专用数据库.

    Util应用框架需要专门用来生成代码的数据库,该数据库仅用于代码生成.

    约定: 代码生成数据库应以 .Generator 结尾.

    当然你也可以随意起名,但使用约定名称能更清晰的说明数据库用途.

  2. 使用配套代码生成器生成代码.

    Util配套代码生成器连接到代码生成数据库,读取元数据,创建项目基架.

快速入门示例项目概述

  • 项目名称: Demo

  • 代码生成数据库名称: Demo.Generator

创建示例数据库

创建快速入门示例数据库.

本节创建快速入门示例项目的代码生成数据库.

共提供三种数据库建库脚本,你只需选择一种即可.

创建 Sql Server 代码生成数据库

如果你使用Sql Server数据库,请按下面步骤创建Sql Server示例数据库和示例表.

创建 Demo.Generator 数据库

打开 SQL Server Management Studio ,新建数据库 Demo.Generator .

在这里插入图片描述

在这里插入图片描述

点击 确定 按钮,创建数据库.

在这里插入图片描述

添加示例表 Student

选中 Demo.Generator 数据库,点击 新建查询 按钮.

在这里插入图片描述

复制下面Sql语句,创建 Student 示例表.

Sql建库脚本通常使用 PowerDesigner 等数据建模工具生成.

CREATE TABLE [dbo].[Student](
	[StudentId] [uniqueidentifier] NOT NULL,
	[Name] [nvarchar](200) NOT NULL,
	[Gender] [int] NULL,
	[Age] [int] NULL,
	[Birthday] [datetime] NULL,
	[IdCard] [nvarchar](50) NULL,
	[Enabled] [bit] NOT NULL,
	[CreationTime] [datetime] NULL,
	[CreatorId] [uniqueidentifier] NULL,
	[LastModificationTime] [datetime] NULL,
	[LastModifierId] [uniqueidentifier] NULL,
	[IsDeleted] [bit] NOT NULL,
	[Version] [timestamp] NULL,
	[ExtraProperties] [nvarchar](max) NULL,
 CONSTRAINT [PK_STUDENT] PRIMARY KEY CLUSTERED 
(
	[StudentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'StudentId'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Name'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Gender'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Age'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Birthday'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'IdCard'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'启用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Enabled'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'CreationTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建人标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'CreatorId'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'LastModificationTime'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后修改人标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'LastModifierId'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'IsDeleted'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'版本号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'Version'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'扩展' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student', @level2type=N'COLUMN',@level2name=N'ExtraProperties'
GO

EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学生' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Student'
GO

点击 执行 按钮, Student 示例表创建完成.

在这里插入图片描述

创建 PostgreSql 代码生成数据库

如果你使用 PostgreSql 数据库,请按下面步骤创建 PostgreSql 示例数据库和示例表.

创建 Demo.Generator 数据库

打开 PostgreSql 客户端,新建数据库 Demo.Generator .

create database "Demo.Generator"
    with owner admin;

添加示例表 Student

运行下面Sql之前先切换到 Demo.Generator 数据库.

create table "Student"
(
    "StudentId"            uuid         not null
        constraint "PK_Student"
            primary key,
    "Name"                 varchar(200) not null,
    "Gender"               integer,
    "Age"                  integer,
    "Birthday"             timestamp with time zone,
    "IdCard"               varchar(50),
    "Enabled"              boolean      not null,
    "CreationTime"         timestamp with time zone,
    "CreatorId"            uuid,
    "LastModificationTime" timestamp with time zone,
    "LastModifierId"       uuid,
    "IsDeleted"            boolean      not null,
    "ExtraProperties"      text,
    "Version"              bytea
);

comment on table "Student" is '学生';

comment on column "Student"."StudentId" is '学生标识';

comment on column "Student"."Name" is '姓名';

comment on column "Student"."Gender" is '性别';

comment on column "Student"."Age" is '年龄';

comment on column "Student"."Birthday" is '出生日期';

comment on column "Student"."IdCard" is '身份证';

comment on column "Student"."Enabled" is '启用';

comment on column "Student"."CreationTime" is '创建时间';

comment on column "Student"."CreatorId" is '创建人标识';

comment on column "Student"."LastModificationTime" is '最后修改时间';

comment on column "Student"."LastModifierId" is '最后修改人标识';

comment on column "Student"."IsDeleted" is '是否删除';

comment on column "Student"."ExtraProperties" is '扩展属性';

comment on column "Student"."Version" is '版本号';

alter table "Student"
    owner to admin;

创建 MySql 代码生成数据库

如果你使用 MySql 数据库,请按下面步骤创建 MySql 示例数据库和示例表.

创建 Demo.Generator 数据库

打开 MySql 客户端,新建数据库 Demo.Generator .

create database `Demo.Generator`

添加示例表 Student

运行下面Sql之前先切换到 Demo.Generator 数据库.

create table Student
(
    StudentId            char(36) charset ascii not null comment '学生标识'
        primary key,
    Name                 varchar(200)           not null comment '姓名',
    Gender               int                    null comment '性别',
    Age                  int                    null comment '年龄',
    Birthday             datetime(6)            null comment '出生日期',
    IdCard               varchar(50)            null comment '身份证',
    Enabled              tinyint(1)             not null comment '启用',
    CreationTime         datetime(6)            null comment '创建时间',
    CreatorId            char(36) charset ascii null comment '创建人标识',
    LastModificationTime datetime(6)            null comment '最后修改时间',
    LastModifierId       char(36) charset ascii null comment '最后修改人标识',
    IsDeleted            tinyint(1)             not null comment '是否删除',
    ExtraProperties      longtext               null comment '扩展属性',
    Version              longblob               null comment '版本号'
)
    comment '学生';

Util应用框架交流群: 24791014

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Activiti 是一个流程引擎框架,可以帮助开发快速实现工作流相关的应用。下面是使用 Activiti 创建流程引擎的步骤: 1. 创建 maven 项目,添加 Activiti 依赖。 在项目的 pom.xml 文件中添加以下依赖: ``` <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-engine</artifactId> <version>5.22.0</version> </dependency> ``` 2. 创建流程引擎配置类。 在项目中创建一个 Java 类,用于配置流程引擎。可以在该类中指定数据库连接信息、流程图文件路径等信息。以下是一个示例配置类: ``` import java.io.IOException; import java.io.InputStream; import java.util.Properties; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngineConfiguration; import org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration; public class ActivitiConfig { public ProcessEngine getProcessEngine() throws IOException { // 读取配置文件 InputStream inputStream = getClass().getResourceAsStream("/activiti.properties"); Properties properties = new Properties(); properties.load(inputStream); // 配置流程引擎 ProcessEngineConfiguration cfg = new StandaloneProcessEngineConfiguration() .setJdbcUrl(properties.getProperty("jdbc.url")) .setJdbcUsername(properties.getProperty("jdbc.username")) .setJdbcPassword(properties.getProperty("jdbc.password")) .setJdbcDriver(properties.getProperty("jdbc.driver")) .setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_FALSE); // 创建流程引擎 ProcessEngine processEngine = cfg.buildProcessEngine(); return processEngine; } } ``` 在该配置类中,我们读取一个名为 activiti.properties 的配置文件,该文件包含了数据库连接信息。在实际开发中,我们可以将这些信息存储在外部配置文件中,以便于修改和管理。 3. 创建流程图文件。 使用 Activiti Modeler 工具创建流程图文件,或者手动编写 BPMN 2.0 标准的 XML 文件。将该文件放置在项目的 classpath 下,以便于程序能够读取。 4. 启动流程引擎。 在程序中使用上述配置类创建流程引擎实例,并启动该实例。以下是一个示例代码: ``` public static void main(String[] args) throws IOException { // 创建流程引擎配置类 ActivitiConfig config = new ActivitiConfig(); // 获取流程引擎实例 ProcessEngine processEngine = config.getProcessEngine(); // 输出流程引擎信息 String name = processEngine.getName(); String version = ProcessEngine.VERSION; System.out.println("流程引擎名称:" + name); System.out.println("流程引擎版本:" + version); // 关闭流程引擎 processEngine.close(); } ``` 在上述示例代码中,我们创建了一个 ActivitiConfig 实例,并使用该实例获取了流程引擎。获取流程引擎后,我们可以输出其名称和版本信息,并在程序结束时关闭该引擎。 以上就是使用 Activiti 创建流程引擎的步骤。开发者可以根据自己的需求对流程引擎进行配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值