<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    深藍(lán)色心情

    過來聊聊~~~~

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks
     
    數(shù)據(jù)庫驅(qū)動更新為classes12-9i.jar
    修改hibernate的配置如下
    代碼
    <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor"/>

    <bean id="oracleLobHandle" class="org.springframework.jdbc.support.lob.OracleLobHandler" Lazy-init="true">
     
    <property name="nativeJdbcExtractor">
       
    <ref local="nativejdbcExtractor"/>
     
    </property>
    </bean>


    在有clob類型sessionFactory(org.springframework.com.hibernate.LocalSessionFractoryBean)中加入
    <property name="lobHandler"><ref bean="oracleLobHandle"/></property>

    在需要clob的JavaBean對應(yīng)的hbm.xml中,改對應(yīng)的clob類型的字段

    代碼
    <property
     
    name=""
     type
    ="org.springframework.orm.hibernate.support.ClobStringType"
     clumn
    =""
     length
    ="XXXXXX" <!--定義clob字段大小(以字節(jié)為單位,最大2GB)-->
    >

    JavaBean的對應(yīng)的屬性類型為String

    ------------------------------------------------------------------------------
    ----hibernate3 使用blob 和 clob 演例代碼-----

    hibernate3 使用blob 和 clob 演例代碼:

     1import java.io.File;
     2import java.io.FileInputStream;
     3import java.io.OutputStream;
     4import java.io.Writer;
     5import java.sql.Clob;
     6import oracle.sql.CLOB;
     7import org.hibernate.LockMode;
     8import org.hibernate.Transaction;
     9import org.hibernate.Session;
    10import org.hibernate.Hibernate;
    11import org.hibernate.lob.SerializableBlob;
    12import org.hibernate.lob.SerializableClob;
    13
    14
    15public class test1 {
    16
    17        /**
    18         * @param args
    19         */

    20        static Session session = HibernateSessionFactory.currentSession();
    21        
    22        public boolean inserted(TStu obj){
    23                
    24                Transaction tran = session.beginTransaction();
    25                session.save(obj);
    26                session.flush();
    27                session.refresh(obj,LockMode.UPGRADE);
    28                try
    29                {
    30                SerializableBlob sb = (SerializableBlob)obj.getImg();
    31                java.sql.Blob wrapblob = sb.getWrappedBlob();
    32                if(wrapblob instanceof oracle.sql.BLOB){
    33                         oracle.sql.BLOB blob = (oracle.sql.BLOB) wrapblob;
    34                OutputStream bout = blob.getBinaryOutputStream();
    35                FileInputStream fin = new FileInputStream("d:\\a.jpg");//修改你要存入的圖片
    36                byte [] buf = new byte[10240];//做為10K的緩存寫入
    37                int len;
    38                while((len = fin.read(buf))>0){
    39                        bout.write(buf,0,len);
    40                }

    41                bout.close();
    42                fin.close();
    43                }

    44                
    45                SerializableClob  sc = (SerializableClob)obj.getResu();
    46                Clob wrapclob = sc.getWrappedClob();
    47                if(wrapclob instanceof CLOB){
    48                        CLOB clob = (CLOB)wrapclob; 
    49                        Writer cout = clob.getCharacterOutputStream();
    50                        File file = new File("C:\\log_2005_8.txt");//修改你要存如的文本
    51                        FileInputStream fin = new FileInputStream(file);
    52                        int read;
    53                        while((read = fin.read())!= -1){
    54                                cout.write(read);
    55                        }

    56                        fin.close();
    57                        cout.close();
    58                }

    59                
    60                tran.commit();
    61                return true;
    62                }
    catch(Exception ex){
    63                        ex.printStackTrace();
    64                        tran.rollback();
    65                        return false;
    66                }

    67        }

    68        
    69        public static void main(String[] args) {
    70                // TODO Auto-generated method stub         
    71                test1 t = new test1();
    72                 TStu stu = new TStu();
    73                 stu.setAge(new Integer("23"));
    74                 stu.setName("lilei");
    75                 stu.setImg(Hibernate.createBlob(new byte[1]));
    76                 stu.setResu(Hibernate.createClob(" "));
    77                 t.inserted(stu);        
    78        }

    79}

    80
    81



    org link: http://www.matrix.org.cn/thread.shtml?topicId=27138&forumId=23
    posted on 2005-11-18 10:42 深藍(lán)色心情 閱讀(2550) 評論(2)  編輯  收藏 所屬分類: Java

    Feedback

    # re: spring+hibernate+oracle9i用clob 2006-07-08 13:02 jjs
    SerializableClob sc = (SerializableClob)obj.getResu();
    這一句提示,不能哆強(qiáng)行轉(zhuǎn)化,這是怎么回事 resu為string,  回復(fù)  更多評論
      

    # re: spring+hibernate+oracle9i用clob 2006-07-08 13:04 jjs
    像得用這種方式插入clob是否要直接跟操作String 一樣的,這個我試了一下,報(bào)錯,但網(wǎng)上有人說在這種配置下,可以直接操作clob  回復(fù)  更多評論
      

    主站蜘蛛池模板: 亚洲va中文字幕| 在线jyzzjyzz免费视频| 亚洲av无码日韩av无码网站冲| 亚洲AV无码专区亚洲AV伊甸园| 亚洲视频免费在线播放| 爱情岛论坛网亚洲品质自拍| 91国内免费在线视频| 亚洲国产日韩一区高清在线| 日本妇人成熟免费中文字幕| 小说区亚洲自拍另类| 亚洲AV无码专区国产乱码4SE| 亚洲成av人片不卡无码久久| 无码国产精品一区二区免费16| sihu国产精品永久免费| 亚洲最大视频网站| 亚洲一本大道无码av天堂| 成人免费777777| 无码人妻久久一区二区三区免费丨 | 亚洲AV无码专区亚洲AV桃| 亚洲剧情在线观看| 亚洲成AⅤ人影院在线观看| 在线观看亚洲免费| 日韩插啊免费视频在线观看| a级大片免费观看| 91视频免费网站| 丁香花在线视频观看免费| 亚洲AV无码一区二区三区性色 | 久久免费观看国产99精品| 中国极品美軳免费观看| 久青草视频在线观看免费| j8又粗又长又硬又爽免费视频| 成人久久久观看免费毛片| 国产婷婷综合丁香亚洲欧洲| 亚洲国产精品无码中文字| 国产区卡一卡二卡三乱码免费| 国产美女精品视频免费观看| 亚洲国产精品一区二区第一页免 | 亚洲视频一区二区三区四区| 亚洲精品第一国产综合野| 亚洲日本va在线观看| 亚洲乱码中文字幕在线|