@Data @ApiModel(value = "项目管理") public class BisProjectVO { @ApiModelProperty(value = "id") private Integer id; @ApiModelProperty(value = "项目名称") private String projectName; } @Data @ApiModel(value = "塔站") public class BisTowerVO { private Integer id; private Date createTime; private Integer projectId; @TableField(exist = false) private String projectName; private String towerNo; } 做个关于BisTower类的增加,projectId关联BisProject的id, projectId根据BisProject类projectName获取对应的id, projectId可重复,towerNo不可重复,属于一对多关系,createTime实时时间, 用mybatis-plus写,业务写在service,不要写mapper和sql
时间: 2024-02-05 15:03:03 浏览: 60
好的,根据您的要求,我们可以先编写一个BisTowerService类中的增加方法,如下所示:
```
@Service
public class BisTowerService {
@Autowired
private BisTowerMapper bisTowerMapper;
@Autowired
private BisProjectMapper bisProjectMapper;
/**
* 增加塔站
*
* @param bisTowerVO 塔站信息
* @return 是否成功
*/
public boolean addBisTower(BisTowerVO bisTowerVO) {
// 根据项目名称获取对应的项目id
String projectName = bisTowerVO.getProjectName();
BisProjectVO bisProjectVO = bisProjectMapper.getByName(projectName);
if (bisProjectVO == null) {
// 如果项目不存在,则返回失败
return false;
}
// 设置projectId
bisTowerVO.setProjectId(bisProjectVO.getId());
// 设置createTime
bisTowerVO.setCreateTime(new Date());
// 插入数据
int result = bisTowerMapper.insert(bisTowerVO);
return result > 0;
}
}
```
在上述代码中,我们通过BisProjectMapper的getByName方法获取到对应项目的BisProjectVO对象,然后通过该对象的getId方法获取到projectId,并将其设置到BisTowerVO中。接着,我们设置实时时间并插入数据,最后返回插入结果即可。
需要注意的是,BisTowerMapper和BisProjectMapper需要使用mybatis-plus自动生成的Mapper接口,不需要手动编写Mapper和SQL。同时,需要在BisProjectMapper中添加根据项目名称获取对应的项目信息的方法,如下所示:
```
public interface BisProjectMapper extends BaseMapper<BisProjectVO> {
/**
* 根据项目名称获取对应的项目信息
*
* @param projectName 项目名称
* @return 项目信息
*/
BisProjectVO getByName(String projectName);
}
```
这样,我们就完成了对BisTower类的增加操作,根据需要可以在BisTowerVO中添加其他属性。
阅读全文