Y a-t-il un moyen d'obtenir la liste de tous les noms de table dans la base de données à l'aide de SimpleJDBCtemplate? p>
La base de données étant interrogée est Oracle si cela aide de quelque manière que ce soit. Merci. P>
3 Réponses :
Vous êtes toujours libre d'obtenir Java.SQL.DATABASEMETADATA en utilisant la connexion. Il n'y a pas de méthodes dans SimpleJDBCtTemplate pour vous aider, mais franchement, il n'y a pas besoin.
Il est possible que l'aspect printemps soit important en raison des interactions des gestionnaires de transactions ou de quelque chose.
Je ne pense pas que les transactions soient nécessaires pour une opération en lecture seule. Le seul problème pourrait être si quelqu'un change le schéma pendant que vous effectuez l'opération de telle sorte que le résultat soit invalidé. Si cela peut arriver, vous avez de beaucoup plus gros problèmes.
Ce lien redirige actuellement sur un site de phishing
De quoi s'agit-il de faibles personnes représentant qu'ils vont chercher des réponses de six ans à commenter?
Query La vue User_Tables et vous les obtiendrez. P>
Poke autour de SQLPlus, bien sûr, pour voir la forme d'abord. P>
Dans mon expérience, les "tables" de l'application sont souvent des synonymes de tables dans un autre schéma, de sorte que vous devriez également interroger tous les_tables.
Spring a un DatabasemetaTataCallback code> qui peut prendre soin de certains des aspects de la plaque de chaudière de la solution que Duffymo a liée à. Vous pouvez ensuite transmettre cet objet lorsque vous appelez JDBCTILS.EXtractDataBasemetata CODE>
.
Un exemple de fabrication du même appel que vous êtes Essayer de faire avec ces classes peut être trouvé ici . P>
échantillon de code de ce lien: p>
Classe: P>
GetTableNames getTableNames = new GetTableNames(); try { Object o = JdbcUtils.extractDatabaseMetaData(dataSource, getTableNames); System.out.println(o); } catch (MetaDataAccessException e) { System.out.println(e); }