Comment Sélectionner une colonne BLOB à partir de la base de données à l'aide de iBatis
L'un de la colonne d'une table est de BLOB type de données (Oracle 10g). Nous avons un select simple requête exécutée via iBatis pour sélectionner la colonne BLOB et de l'afficher à l'aide de Struts2 & JSP.
Le résultat de la balise dans le iBatis fichier xml eu le jdbctype comme java.sql.Blob
<result property="uploadContent" column="uploadcontent" jdbctype="Blob"/>
Devrions-nous nous en mentionnant les typeHandler classe pour colonne Blob ? Actuellement, nous obtenons un message d'erreur indiquant colonne d'incompatibilité de type.
Remarque: Cette colonne est sélectionnée et mappé à un java bean qui a un attribut de type java.sql.Blob
OriginalL'auteur yathirigan | 2012-08-21
Vous devez vous connecter pour publier un commentaire.
Je pense que vous ne pouvez pas utiliser natif
jdbctype
pourLOB
types dans Oracle aveciBatis
. La solution est de créer destypeHandler
pour gérerLOB
et puis la carte comme -Plus d'informations sur
typeHandlerCallback
ici.OriginalL'auteur Annjawn
Il n'est pas nécessaire de créer un typeHandler. Pour Oracle, le jdbctype est BLOB
Assumming "octets" comme byte [].
La chose importante: dans le select sql, vous devez définir la jdbcType de cette façon:
J'ai remarqué que ce jdbctype pour Postgresql est différent. Vous devez définir:
OriginalL'auteur David García González
J'ai trouvé quelqu'un qui traitent de cette ici.
Pour un CLOB :
Pour un BLOB :
Je suis toujours à la recherche pour qu'il fonctionne avec C# !
OriginalL'auteur sinsedrix
Je dindn pas avoir de problèmes à l'aide des INSERTs, mes problèmes où quand j'ai fait de SÉLECTIONNER le type blob. Je suis à l'aide de Oracle 9i et c'est de cette façon que j'ai fait:
Ajouter l'Oracle JDBC driver pour votre projet, vous aurez besoin
mybatis
dépendances. Si vous utilisez Maven:Ajouter le personnalisé BaseTypeHandler pour la lecture byte[] à partir d'Oracle BLOB classe:
Ajouter les gestionnaires de type paquet de mybatis de configuration. Comme vous pouvez le voir, je suis en utilisant le printemps-mybatis:
Et puis, vous pouvez lire byte[] à partir d'Oracle Gouttes de Mybatis:
J'espère que cela aidera.
C'est une adaptation de cette excellente réponse: C'est une adaptation de cette excellente réponse: https://stackoverflow.com/a/27522590/2692914.
OriginalL'auteur lmiguelmh