J'essaie d'écrire un contrôleur de démarrage à ressort qui peut renvoyer le résultat d'une requête native comme JSON. Je vais passer la requête en tant que paramètre d'entrée et le retour doit être le résultat de la requête. Y a-t-il un moyen de faire cela? Je connais l'aide du RPC HTTP à ce sujet. La requête peut être n'importe quoi et le système doit l'accepter et doit répondre avec le résultat en tant que JSON. P>
Par exemple, si je passe la demande comme SELECT * de l'employé code> il doit répondre avec le résultat de la requête en tant que JSON. P>
3 Réponses :
Vous pouvez effectivement utiliser le ressort JDBC pour cela,
@Autowire private FooRepo fooRepo; @PostMapping(value = "/postData", produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity postData(@RequestBody FooDto foo) { return ResponseEntity.ok(fooRepo.returnDataForQuery(foo.getQuery); }
Springboot
// Classe de contrôleur p> // serviceimpl p> // dao p > spring.jpa.hibernate.ddl-auto=update
spring.jpa.open-in-view=true
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=****
Faites simplement que toutes les fonctions retournent: Il créera automatiquement la propriété d'objet et la valeur. Cela signifie qu'un objet JSON est un exemple de carte. Si vous gérez un tableau de cela, joignez-le avec une liste: p> et enfin que la réponse devient: p>
Vous devriez lire des directives au printemps.io. Il existe de nombreuses ressources utiles pour un débutant. printemps.io/guides
Et si je passe la demande
employé de la table de chute code>, quel résultat serais-je obtenu?
Le DDL n'a pas besoin de ne pas prendre en charge que la requête DML doit être prise en charge. L'utilisateur de DataSource n'aura pas accès à des requêtes DML