以下是基于SpringBoot + MyBatis Plus + MySQL的相关SQL和Java代码:
1. 创建表项表
```sql
CREATE TABLE meter_reading_item (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
meter_number VARCHAR(50) NOT NULL COMMENT '仪表编号',
meter_name VARCHAR(50) NOT NULL COMMENT '仪表名称',
meter_type VARCHAR(50) NOT NULL COMMENT '仪表类型',
installation_location VARCHAR(50) NOT NULL COMMENT '安装位置',
last_reading_time DATETIME NOT NULL COMMENT '上次抄表时间',
current_reading_time DATETIME NOT NULL COMMENT '本次抄表时间',
last_reading_value DECIMAL(10,2) NOT NULL COMMENT '上次读数',
current_reading_value DECIMAL(10,2) NOT NULL COMMENT '本次读数',
multiplier DECIMAL(10,2) NOT NULL COMMENT '倍率',
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COMMENT='表项表';
```
2. 定义MeterReadingItem实体类
```java
@Data
@TableName("meter_reading_item")
public class MeterReadingItem {
@TableId(type = IdType.AUTO)
private Integer id;
private String meterNumber;
private String meterName;
private String meterType;
private String installationLocation;
private Date lastReadingTime;
private Date currentReadingTime;
private BigDecimal lastReadingValue;
private BigDecimal currentReadingValue;
private BigDecimal multiplier;
}
```
3. 创建Mapper接口
```java
@Mapper
public interface MeterReadingItemMapper extends BaseMapper {
List findByInterval(@Param("startTime") Date startTime, @Param("endTime") Date endTime);
}
```
4. 创建Service层
```java
@Service
public class MeterReadingItemService {
@Autowired
private MeterReadingItemMapper meterReadingItemMapper;
public List findByInterval(Date startTime, Date endTime) {
return meterReadingItemMapper.findByInterval(startTime, endTime);
}
public int insert(MeterReadingItem meterReadingItem) {
return meterReadingItemMapper.insert(meterReadingItem);
}
public int update(MeterReadingItem meterReadingItem) {
return meter