新建实体
Type.java:
@Entity
@Table(name = "t_type")
public class Type {
@Id //主键标识
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank(message = "分类名称不能为空")
private String name;
@OneToMany(mappedBy = "type")
private List<News> news = new ArrayList<>();
//省略get和set方法
}
Tag.java:
@Entity
@Table(name = "t_tag")
public class Tag {
@Id //主键标识
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank(message = "标签名称不能为空")
private String name;
//省略get和set方法
}
分类管理
在TypeService.java接口中新增如下方法:
Type getTypeByName(String name);
void delete(Long id);
Type getType(Long id);
Type updateType(Long id,Type type);
在TypeServiceImpl.java文件中具体实现上述方法:
//TypeServiceImpl.java
@Service
public class TypeServiceImpl implements TypeService{
@Autowired
private TypeRepository typeRepository;
@Override
public Page<Type> listType(Pageable pageable) {
return typeRepository.findAll(pageable);
}
@Override
public Type saveType(Type type) {
return typeRepository.save(type);
}
@Override
public Type getTypeByName(String name) {
return typeRepository.findByName(name);
}
@Override
public void delete(Long id) {
typeRepository.deleteById(id);
}
@Override
public Type getType(Long id) {
return typeRepository.findById(id).orElse(null);
}
@Override
public Type updateType(Long id, Type type) {
Type type1 = typeRepository.findById(id).orElse(null);
if(type1==null){
System.out.println("未获取更新对象");
return null;
}
BeanUtils.copyProperties(type