私信  •  关注

Pijotrek

Pijotrek 最近创建的主题
Pijotrek 最近回复了

用注释您的知识库类 @Repository .

另外,不要这样做:

ServiceClass cc1 = new ServiceClass();

相反,应该注射 @Autowired 让Spring框架完成其工作的注释,如下所示:

public class SpringBootWebsocketExampleApplication implements CommandLineRunner {

    @Autowired
    private ServiceClass serviceClass;

    public static void main(String[] args) {
        SpringApplication.run(SpringBootWebsocketExampleApplication.class, args);

    }

    @Override
    public void run(String... args) throws Exception {
         List<Users> kk=new ArrayList<Users>();
         JSONObject jsOn1=cc1.getjsondatamongo();
         System.out.println(jsOn1);
    }

}

这是春天的方法。附加阅读: https://www.baeldung.com/inversion-control-and-dependency-injection-in-spring

还有一点建议:遵循命名约定/标准。课程名称应使用大写字母,驼色大小写,即 UserRepository , UserService

第二部分:

假设来自更新/当前的异常。我认为将查询结果解析为 JSONObject . 我对此不确定,但通常您希望返回Pojos列表,即: List<User> .

此外,您还可以使用“内置”方法,例如 findAll() -不需要使用 native query 在这里。试试这个:

@Service
public class ServiceClass {
    @Autowired
    UserRepository userRepository;
    public JSONObject getjsondatamongo()
    {
        return userRepository.findAll();
    }
}

第三部分

浏览一些网络教程和阅读文档,我认为你应该简单地操作 db.collection.find() 只需提供 {} 在你 @Query . 喜欢 @Query("{}") 如果希望返回整个数据。