繁体   English   中英

如何在 java spring 引导中获取价值不是 object

[英]how to get value not object in java spring boot

所以我想知道如何获取存储在 Mysql 而不是 Object 名称中的值。

当我运行我得到的代码时:

[org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@5ba6132b, org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@28264619, org.springframework.data.jpa.repository .query.AbstractJpaQuery$TupleConverter$TupleBackedMap@6ab78994, org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@50dd821f, org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@3b89ec64 , org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@21856382, org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap@7728a50f]

代码如下:

@Data
@Entity
@Table(name="category")
@DynamicInsert
@DynamicUpdate
@NoArgsConstructor
@AllArgsConstructor
public class Category {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name="category_id", columnDefinition = "INT(11)")
    private Integer Category_id;
    @Column(name="name",columnDefinition = "VARCHAR(20)")
    private String name;
    @Column(name = "parent",columnDefinition = "int(11)")
    private Integer parent;
}

这是我的类别代码。

package kr.co.ds.datastation.dsapi.repository;


public interface CategoryProjection {
    public String getLev1();
    public String getLev2();
    public String getLev3();
    public String getLev4();
}

这是我的CategoryProjection代码。

import java.util.List;


@Repository
public interface CategoryRepository extends JpaRepository<Category, Integer> {
    public static final String FIND_PROJECTS = "SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4 FROM category AS t1 LEFT JOIN category AS t2 ON t2.parent = t1.category_id LEFT JOIN category AS t3 ON t3.parent = t2.category_id LEFT JOIN category AS t4 ON t4.parent = t3.category_id WHERE t1.name = 'ROOT'";

@Query(value = FIND_PROJECTS, nativeQuery = true)
public List<CategoryProjection> findByCategory();

}

这是我的CategoryRepository代码。

@RestController
@RequestMapping(value = "/Category")
@Slf4j
public class CategoryController {
    @Autowired CategoryRepository categoryRepository;

    @RequestMapping(value = "/all", method = RequestMethod.GET)
    @ResponseBody
    public String getCategoryList() {
    List<CategoryProjection> all= this.categoryRepository.findByCategory();
    return all.toString();
    //log.info(query);
    //return "Test";
    }
}

这是我的CategoryController代码。

private void mysql2() {

    this.categoryRepository.findByCategory();
}

这是我的应用程序代码。

将以下代码添加到您的类别 POJO class 到 map object 和值。 此外,将 getter setter 添加到您的 class 也是一个好习惯。

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Category category = (Category) o;
        if (bot.id == null || id == null) {
            return false;
        }
        return Objects.equals(id, bot.id);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "{" +
            "id=" + id +
            ", name='" + name + "'" +
            ", parent='" + parent + "'" +
           '}';
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM