## 一. 开启缓存和redis锁注解
1. 引入maven
~~~
<dependency>
<groupId>com.cloud</groupId>
<artifactId>cloud-common-cache</artifactId>
</dependency>
~~~
2. 引入注解`@EnableProCache`
在项目启动类上添加`@EnableProCache`注解
3.使用redis锁 `@RedisLock`
## 二. 开启数据库操作
1. 引入maven
~~~
<dependency>
<groupId>com.cloud</groupId>
<artifactId>cloud-common-data</artifactId>
</dependency>
~~~
2. 引入注解`@EnableProData`
在项目启动类上添加`@EnableProData`注解
## 三. 引入安全模块
1. 引入maven
~~~
<dependency>
<groupId>com.cloud</groupId>
<artifactId>cloud-common-security</artifactId>
</dependency>
~~~
2. 引入注解`@EnableProSecurtity`
在项目启动类上添加`@EnableProSecurtity`注解
## 四. 引入Zk分布式锁(已删除,使用redis锁)
1. 引入maven
~~~
<dependency>
<groupId>com.cloud</groupId>
<artifactId>cloud-common-zk</artifactId>
</dependency>
~~~
2. 引入注解`@EnableProZk`
在项目启动类上添加`@EnableProZk`注解
## 五. 对数据库的字段约束
1. 一般表结构必须含有6个字段;
```sql
`id` bigint(20) unsigned NOT NULL COMMENT '编号',
`create_by` bigint(20) unsigned NOT NULL COMMENT '创建者',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_by` bigint(20) unsigned NOT NULL COMMENT '更新者',
`update_date` datetime NOT NULL COMMENT '更新时间',
`remarks` varchar(255) NOT NULL DEFAULT '' COMMENT '备注信息',
`del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '删除标记',
```
实体类需要继承BaseEntity
2. 对于树形表结构需要10个字段
```sql
`id` bigint(20) unsigned NOT NULL COMMENT '编号',
`create_by` bigint(20) unsigned NOT NULL COMMENT '创建者',
`parent_id` bigint(20) unsigned NOT NULL COMMENT '父级编号',
`parent_ids` varchar(2000) NOT NULL COMMENT '所有父级编号',
`name` varchar(100) NOT NULL COMMENT '名称',
`sort` decimal(10,0) NOT NULL COMMENT '排序',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_by` bigint(20) unsigned NOT NULL COMMENT '更新者',
`update_date` datetime NOT NULL COMMENT '更新时间',
`remarks` varchar(255) NOT NULL DEFAULT '' COMMENT '备注信息',
`del_flag` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '删除标记',
```
实体类需要继承TreeEntity
3. 对于普通表结构,无需特殊的表结构,实体类不需要继承BaseEntity或者TreeEntity