如何使用javalite从数据库返回记录?

时间:2017-06-16 21:06:19

标签: java activejdbc javalite

我使用以下行查询数据库:

List<PostsCategories> postsCategories = PostsCategories.findBySQL("select category from posts_categories");

它不是仅返回[{category=Miscellaneous},....],而是在数组中返回Model, table, attributes等额外信息。

我不知道为什么它与activejdbc一起工作?

[Model: com.ngo.org10s.models.PostsCategories, table: 'posts_categories', attributes: {category=Miscellaneous}]

如何简单地返回所需的值?

1 个答案:

答案 0 :(得分:1)

这是因为ActiveJDBC是一个ORM ==对象关系映射。这意味着模型实例包含表示表中单个行的所有属性。

方法findBySQL具有声明:

的JavaDoc

确保查询返回与此模型关联的所有列,以便生成的模型能够正确地保持水分

换句话说,如果PostsCategories的实例只有一个属性集,那么这不再是ORM。

如果您坚持只获取一个属性,请使用org.javalite.activejdbc.Base

List<Map> categories = Base.findAll("select category from posts_categories");