CREATE TABLE `hot_search` ( `hot_search_id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `shop_id` bigint DEFAULT NULL COMMENT '店铺ID 0为全平台热搜', `content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '内容', `seq` int DEFAULT NULL COMMENT '顺序', `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态 0下线 1上线', `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '热搜标题', PRIMARY KEY (`hot_search_id`) USING BTREE, KEY `idx_shop_id` (`shop_id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='热搜';的关系模式
时间: 2023-10-19 15:05:12 浏览: 103
关系模式如下:
hot_search(hot_search_id, create_time, update_time, shop_id, content, seq, status, title)
其中,hot_search_id为主键,自增;create_time为创建时间;update_time为更新时间;shop_id为店铺ID,可以为NULL;content为热搜内容;seq为热搜顺序;status为状态,0为下线,1为上线;title为热搜标题。表的引擎为InnoDB,字符集为utf8mb4,排序规则为utf8mb4_general_ci,注释为“热搜”。同时,对shop_id字段创建了一个BTREE索引。
相关问题
CREATE TABLE order_gift_record ( id bigint unsigned NOT NULL AUTO_INCREMENT, order_id bigint unsigned NOT NULL COMMENT '订单号,关联order主键', goods_id bigint unsigned NOT NULL COMMENT '商品ID,关联goods主键', before_info json DEFAULT NULL COMMENT '修改之前赠品信息', after_info json DEFAULT NULL COMMENT '修改之后赠品信息', create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', update_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', operator varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT '' COMMENT '操作人', PRIMARY KEY (id) USING BTREE, KEY index_order_id (order_id) USING BTREE, KEY index_goods_id (goods_id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='修改订单赠品记录';根据表结构生成java的实体类、持久层、业务层,对属性值添加注释
实类:
```java
public class OrderGiftRecord {
/**
* 主键ID
*/
private Long id;
/**
* 订单号,关联order主键
*/
private Long orderId;
/**
* 商品ID,关联goods主键
*/
private Long goodsId;
/**
* 修改之前赠品信息
*/
private JSONObject beforeInfo;
/**
* 修改之后赠品信息
*/
private JSONObject afterInfo;
/**
* 创建时间
*/
private Date createTime;
/**
* 修改时间
*/
private Date updateTime;
/**
* 操作人
*/
private String operator;
// 省略getters和setters方法
}
```
持久层:
```java
public interface OrderGiftRecordMapper {
/**
* 插入订单赠品记录
* @param orderGiftRecord 订单赠品记录实体类
*/
void insert(OrderGiftRecord orderGiftRecord);
/**
* 根据主键ID查询订单赠品记录
* @param id 主键ID
* @return 订单赠品记录实体类
*/
OrderGiftRecord selectById(Long id);
/**
* 根据订单号查询订单赠品记录列表
* @param orderId 订单号
* @return 订单赠品记录列表
*/
List<OrderGiftRecord> selectByOrderId(Long orderId);
/**
* 根据商品ID查询订单赠品记录列表
* @param goodsId 商品ID
* @return 订单赠品记录列表
*/
List<OrderGiftRecord> selectByGoodsId(Long goodsId);
}
```
业务层:
```java
@Service
public class OrderGiftRecordService {
@Autowired
private OrderGiftRecordMapper orderGiftRecordMapper;
/**
* 插入订单赠品记录
* @param orderGiftRecord 订单赠品记录实体类
*/
public void insert(OrderGiftRecord orderGiftRecord) {
orderGiftRecordMapper.insert(orderGiftRecord);
}
/**
* 根据主键ID查询订单赠品记录
* @param id 主键ID
* @return 订单赠品记录实体类
*/
public OrderGiftRecord selectById(Long id) {
return orderGiftRecordMapper.selectById(id);
}
/**
* 根据订单号查询订单赠品记录列表
* @param orderId 订单号
* @return 订单赠品记录列表
*/
public List<OrderGiftRecord> selectByOrderId(Long orderId) {
return orderGiftRecordMapper.selectByOrderId(orderId);
}
/**
* 根据商品ID查询订单赠品记录列表
* @param goodsId 商品ID
* @return 订单赠品记录列表
*/
public List<OrderGiftRecord> selectByGoodsId(Long goodsId) {
return orderGiftRecordMapper.selectByGoodsId(goodsId);
}
}
```
在实体类中,我们对每个属性进行了注释说明,包括主键ID、订单号、商品ID、修改之前赠品信息、修改之后赠品信息、创建时间、修改时间和操作人。
在持久层中,我们定义了插入、根据主键ID查询、根据订单号查询和根据商品ID查询四个方法,并且方法名和参数名都进行了注释说明。
在业务层中,我们注入了持久层的Mapper,并且定义了和持久层相同的四个方法,并且方法名和参数名也都进行了注释说明。
分析下面的表CREATE TABLE `t_sys_role_menu` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关联id', `role_id` bigint(20) NOT NULL COMMENT '角色id', `menu_id` bigint(20) UNSIGNED NOT NULL COMMENT '菜单id', `create_user_id` bigint(20) NULL DEFAULT NULL COMMENT '创建用户id', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_user_id` bigint(20) NULL DEFAULT NULL COMMENT '更新用户id', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `uni_user_role`(`role_id`, `menu_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 152 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联信息表' ROW_FORMAT = Dynamic;
这是一个 MySQL 数据库表的创建语句,表名为 `t_sys_role_menu`,包含了以下列:
- `id`:bigint 类型,自增主键,用于唯一标识每一条记录。
- `role_id`:bigint 类型,非空,表示关联的角色 ID。
- `menu_id`:bigint 类型,非空,表示关联的菜单 ID。
- `create_user_id`:bigint 类型,可空,表示创建该记录的用户 ID。
- `create_time`:datetime 类型,非空,默认值为当前时间,表示该记录的创建时间。
- `update_user_id`:bigint 类型,可空,表示最后更新该记录的用户 ID。
- `update_time`:datetime 类型,非空,默认值为当前时间,表示该记录的最后更新时间。
该表使用 InnoDB 引擎,使用 UTF-8 编码,采用 UTF-8_GENERAL_CI 作为字符集,行格式为 Dynamic。其中,`uni_user_role` 是一个唯一索引,由 `role_id` 和 `menu_id` 两列组成,用于保证同一个角色和菜单只有一条记录。该表用于存储角色和菜单之间的关联信息。
阅读全文