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

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

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

    vjame

    優化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數據加載中……

    數據庫CLOB、BLOB類型字段在SSH項目中的應用

    1. 數據庫設計 建表,設置字段類型


    2.使用myeclipse反向工程 生成hibernate映射文件,需要修改。自動生成的屬性名字分別是contentText和contentBinary,我們這里修改在前面加上模塊的縮寫


    3.生成的PO類,也需要修改。修改為與hibernate映射文件中對應的名字,這里還需要加兩個string變量來接收頁面上的數據,contentText是插入clob字段數據時需要用到的,contentBinary是從數據庫中取出值處理之后,再設置到這個變量,方便界面上拿去展現



    4. form里面設置如下。下面的紅圈圈對應的是jsp頁面上控件的name


    5. DAO中  主要代碼部分,在action中直接調用
        public void insertLaws(LawsForm lawsForm) throws Exception {
            Laws laws 
    = null ;
            
    try {
                laws 
    = new Laws();
                BeanUtils.copyProperties(laws, lawsForm);
                LawsBclass lawsBclass 
    = new LawsBclass() ;
                lawsBclass.setBclassId(lawsForm.getBclassId());
                laws.setLawsBclass(lawsBclass);
                laws.setLawsContentBinary(Hibernate.createBlob(
    new byte[1]));
                laws.setLawsContentText(Hibernate.createClob(
    " "));
                laws.setIsaudit(
    "0");
                
    this.getHibernateTemplate().save(laws);
                
    this.getHibernateTemplate().flush();
                
    this.getHibernateTemplate().update(laws);
                
    this.getHibernateTemplate().refresh(laws, LockMode.UPGRADE);
            } 
    catch (IllegalAccessException e) {
                e.printStackTrace();
            } 
    catch (InvocationTargetException e) {
                e.printStackTrace();
            }
            
    // 向BLOB字段寫入內容
            SerializableBlob serializableBlob = (SerializableBlob) laws.getLawsContentBinary();
            java.sql.Blob javablob 
    = serializableBlob.getWrappedBlob() ;
            oracle.sql.BLOB blob 
    = (oracle.sql.BLOB) javablob ;
            BufferedInputStream contentBin 
    = new BufferedInputStream(
                    lawsForm.getContentBinaryFormFile().getInputStream());
            BufferedOutputStream contentBout 
    = new BufferedOutputStream(blob
                    .getBinaryOutputStream());
            
    byte[] buffer = new byte[1024];
            
    int length = 0;
            
    while ((length = contentBin.read(buffer)) > 0) {
                contentBout.write(buffer, 
    0, length);
            }
            contentBin.close();
            contentBout.close();
            
    // 向CLOB字段寫入內容
            SerializableClob serializableClob = (SerializableClob) laws.getLawsContentText();
            java.sql.Clob javaclob 
    = serializableClob.getWrappedClob();
            oracle.sql.CLOB clob 
    = (oracle.sql.CLOB)javaclob ;
            String contentText 
    = lawsForm.getContentText();
            BufferedWriter bw 
    = new BufferedWriter(clob.getCharacterOutputStream());
            bw.write(contentText);
            bw.close();
        }

        @SuppressWarnings(
    "deprecation")
        
    public void updateLaws(LawsForm lawsForm) throws Exception {

            Laws laws 
    = null ;
            
    try {
                laws 
    = new Laws();
                BeanUtils.copyProperties(laws, lawsForm);
                LawsBclass lawsBclass 
    = new LawsBclass() ;
                lawsBclass.setBclassId(lawsForm.getBclassId());
                laws.setLawsBclass(lawsBclass);
                laws.setLawsContentBinary(Hibernate.createBlob(
    new byte[1]));
                laws.setLawsContentText(Hibernate.createClob(
    " "));
                
    this.getHibernateTemplate().update(laws);
                
    this.getHibernateTemplate().flush();
                
    this.getHibernateTemplate().refresh(laws, LockMode.UPGRADE);
            } 
    catch (IllegalAccessException e) {
                e.printStackTrace();
            } 
    catch (InvocationTargetException e) {
                e.printStackTrace();
            }
            
    // 向BLOB字段寫入內容
            SerializableBlob serializableBlob = (SerializableBlob) laws.getLawsContentBinary();
            java.sql.Blob javablob 
    = serializableBlob.getWrappedBlob() ;
            oracle.sql.BLOB blob 
    = (oracle.sql.BLOB) javablob ;
            BufferedInputStream contentBin 
    = new BufferedInputStream(
                    lawsForm.getContentBinaryFormFile().getInputStream());
            BufferedOutputStream contentBout 
    = new BufferedOutputStream(blob
                    .getBinaryOutputStream());
            
    byte[] buffer = new byte[1024];
            
    int length = 0;
            
    while ((length = contentBin.read(buffer)) > 0) {
                contentBout.write(buffer, 
    0, length);
            }
            contentBin.close();
            contentBout.close();
            
    // 向CLOB字段寫入內容
            SerializableClob serializableClob = (SerializableClob) laws.getLawsContentText();
            java.sql.Clob javaclob 
    = serializableClob.getWrappedClob();
            oracle.sql.CLOB clob 
    = (oracle.sql.CLOB)javaclob ;
            String contentText 
    = lawsForm.getContentText();
            BufferedWriter bw 
    = new BufferedWriter(clob.getCharacterOutputStream());
            bw.write(contentText);
            bw.close();

        }
        
        
    public void updateLaws(Laws laws) throws Exception {
            
    try {
                getHibernateTemplate().update(laws);
                getHibernateTemplate().flush();
            } 
    catch (HibernateOptimisticLockingFailureException ex) {
                
    throw new VersionException(ex);
            } 
    catch (DataAccessException ex) {
                
    throw new DAOException(ex);
            } 
    catch (Exception ex) {
                
    throw new DAOException(ex);
            }
        
        }

    posted on 2008-11-18 16:02 lanjh 閱讀(2771) 評論(0)  編輯  收藏 所屬分類: Java Web

    主站蜘蛛池模板: 日韩国产精品亚洲а∨天堂免| 国产一精品一aⅴ一免费| 四虎影视成人永久免费观看视频| h视频免费高清在线观看| 一边摸一边桶一边脱免费视频| 国产成人高清亚洲一区91| 国产亚洲欧美在线观看| 最新亚洲人成网站在线观看| 精品国产日韩亚洲一区在线| 亚洲av无码偷拍在线观看| 国产天堂亚洲精品| 免费无码AV一区二区| 国产99久久久国产精免费| 国产伦精品一区二区免费| 最近免费中文字幕MV在线视频3| 青青操在线免费观看| 久久99精品免费视频| 成人免费激情视频| 成人网站免费观看| 浮力影院第一页小视频国产在线观看免费 | 成人免费在线视频| 永久免费bbbbbb视频| 免费大片在线观看网站| 亚洲综合国产精品第一页 | 国内精自视频品线六区免费| 啦啦啦中文在线观看电视剧免费版| 在线观看视频免费国语| 免费在线精品视频| 亚洲精品无码永久中文字幕| 中文字幕亚洲第一在线| 日本亚洲色大成网站www久久| 老司机免费午夜精品视频| 国产一级一毛免费黄片| 99re6免费视频| 免费无码又爽又高潮视频| 亚洲裸男gv网站| 亚洲麻豆精品果冻传媒| 亚洲精品成a人在线观看夫| jizz在线免费播放| 国产成人精品免费视频网页大全| 全免费a级毛片免费看不卡|