在spring中如何處理oracle大字段 在spring中采用OracleLobHandler來處理oracle大字段(包括clob和blob),則在程序中不需要引用oracle的特殊類,從而能夠保證支持我們的代碼支持多數據庫。 1、首先數據表中的clob類型對應java持久化類的String類型;而blob類型對應byte[]類型 2、定義hibernate標簽時,持久化類中對應clob類型的屬性的hibernate type應為org.springframework.orm.hibernate.support.ClobStringType;而對應blob類型的屬性的hibernate type應為org.springframework.orm.hibernate.support.BlobByteArrayType。 3、以后訪問這些對應clob和blob類型的屬性時,按普通屬性處理,不需要特別編碼。 java代碼:? |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Spring為處理數據庫Lob字段,特別提供了LobHandler接口。在操作Oracle RDBMS過程中,由于Oracle JDBC Driver實現的問題,應用必須采用Oracle原生的數據庫連接(比如,oracle.jdbc.OracleConnection)、LOB原生實現(比如,oracle.sql.BLOB、oracle.sql.CLOB)。因此,LobHandler接口存在上述兩種實現。簡而言之,為操作Oracle數據庫,必須使用OracleLobHandler實現。如果操作其他RDBMS類型,則使用DefaultLobHandler。NativeJdbcExtractor是個接口,通過它能夠抽象各種連接池。另外Spring還提供兩個接口存取Blob,LobCreator及LobHandler