서문 :
이진 데이터의 대량 저장 BLOB. 등 사진, 음악,로, 다음 이진수로 저장
많은 양의 텍스트 데이터를 저장하기위한 CLOB. 이러한의 Clob를 초과 할 것으로 예상 4000 HTML 페이지 등 VARCHAR2 최대 4000입니다, 같은
바디 :
1, 나는 자바 + MyBatis로를 사용하여, 문자열은 직접 처리. 문자열은 최대 4G를 절약 할 수 있습니다
데이터베이스 : 테이블 만들기
- 테이블을 만들고 생성 테이블 CLOB_TEST ( ID VARCHAR2 ( 32 ) 기본 sys_guid (), 콘텐츠 CLOB를 )
엔티티 클래스 :
패키지 com.bf.test.entity; 공공 클래스 ClobTest { 개인 문자열 ID; 개인 문자열 내용; 공공 문자열 getId () { 반환 아이디; } 공공 공극 setId (문자열 ID) { 이 .ID = ID; } 공공 문자열의 getContent () { 반환 내용; } 공공 무효 의 setContent (문자열의 내용) { 이 .content = 내용; } }
검색어 : sql.xml
<? XML 버젼 = "1.0"인코딩 = "UTF-8" ?> <! DOCTYPE 매퍼 PUBLIC "- // mybatis.org//DTD 매퍼 3.0 // EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > < 매퍼 네임 스페이스 = "com.bf.labor. dao.IClobDao " > < resultMap는 ID ="BaseResultMap " 타입 ="com.bf.test.entity.ClobTest " > < 결과 열 ="ID " 속성 ="ID " jdbcType가 ="VARCHAR " /> < 결과 열 =" 함유량" 된 resultMap > < 선택 ID = "getList" 된 resultMap = "BaseResultMap" > 선택 *로부터 CLOB_TEST </ 선택 > < 인서트 ID = "삽입" > CLOB_TEST (CONTENT)에 삽입 된 값 (# {콘텐츠}) </ 삽입 > </ 매퍼 >
시험 종류 :
패키지 com.test; 수입 은 java.util.List; 수입 org.junit.Test; 수입 org.junit.runner.RunWith; 수입 org.springframework.beans.factory.annotation.Autowired; 수입 org.springframework.test.context.ContextConfiguration; 수입 org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 수입 org.springframework.test.context.web.WebAppConfiguration; 수입 com.bf.labor.entity.ClobTest; 수입 com.bf.labor.service.ClobService; @RunWith (SpringJUnit4ClassRunner. 클래스 ) @WebAppConfiguration ( "웹" ) @ContextConfiguration (위치 = "파일 : G : /WIM/Source/webapp/WEB-INF/spring-core-config.xml" ) 공공 클래스 ClobServiceTest는 { @Autowired 개인 ClobService clobService을; @Test 공개 공극 시험 () { 목록 <ClobTest> = 목록 이 .clobService.getList (); 에서 System.out.println ( "테스트 ="+ 리스트); } @Test 공공 무효 TEST2 () { 문자열 str을 = "" ; 위한 ( int로 난 <5000; I = 0 난 ++ ) { STR = STR + "正" ; } 에서 System.out.println ( "STR ="+ STR); ClobTest newInfo = 새로운 ClobTest (); newInfo.setContent (STR); 이 .clobService.insert (newInfo); } }
2, CLOB 필드는 문자열로 변환됩니다. 데이터베이스 데이터 마이그레이션이 점에 특히주의를 기울여야 할 때, 경우에 대처하기 위해, CLOB 필드는 비어 있습니다
방법 1 : dbms_lob.substr ()
참고 : dbms_lob.substr (내용)보다 4,000 자 이하, 불평 할 것이다
참고 블로그 :
오라클은 문자열 필드의 Clob로 변환합니다 - sqyNick - CSDN 블로그
https://blog.csdn.net/u010670151/article/details/52210333