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的实体类、持久层、业务层,对属性值添加注释
时间: 2023-06-18 10:06:54 浏览: 202
使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值
实类:
```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,并且定义了和持久层相同的四个方法,并且方法名和参数名也都进行了注释说明。
阅读全文