項目小結:百度富文本的使用【java版】和 oracle批量新增的坑

一、【java版】百度富文本的使用 的問題 

百度富文本api:http://fex.baidu.com/ueditor/html

UEditor文檔: http://fex.baidu.com/ueditor/java

項目結構:mysql

這裏不提基礎的配置 ,只能對比jsp和html配置的不一樣sql

首先,在ueditor.config.js的配置項中,咱們能夠看到serverUrl 在頁面是jsp的項目 能夠直接引用java版自帶的controller.jsp這個文件json

1.1 jsp 和html  前者使用jsp直接寫配置的初始化 【比較方便】  後者須要建立java的controller層 寫接口 獲取的配置文件稍微比較 麻煩 須要根據項目路徑來判斷  經過request來獲取路徑只適合先後端不分離的項目  若是分離須要獲取項目所在的路徑  拼接js相對路徑 加上配置位置 config.json 才能開啓富文本的上傳初始化

controller.jsp後端

java後端:api

從代碼的 new ActionEnter的方法裏面 能夠知道 他是獲取項目的原始路徑 最終讀取的config.json文件tomcat

【這個文件在jsp文件夾下面)session

恰好我這個項目是先後端分離的 oracle

我寫的【後面 估計可能會改爲目錄的相對路徑 而不是讀取拼接的方式】

全部我這個項目裏面就不能用網上那種的java寫法 修改思路有兩種

思路1.配置 config.json的根路徑  【直接到config.json的上一級目錄]

思路2:我這個是項目在同一個目錄下 我經過session獲取到只是tomcat的相對目錄 位置確定錯了 ,並且contextPath也有值.

後面改成經過類目錄拼接js目錄+"jsp/uditorUpload"  目錄明明是jsp下面,爲何要躲寫個/ueditorUpload? 如同能夠看此他獲得的是父目錄 因此 獲取的xxx/jsp/這個目錄。恰好路徑吻合,初始化成功。

1.2.這個項目的過濾鏈比較多 而這個上傳的接口須要動態拼接rnd參數 這個就很麻煩 還有回顯圖片的接口 也須要這個rnd參數 否則就會被攔截 ,這時候咱們須要本身設置一個攔截器白名單。這個也須要針對項目來處理。

2.oracle 的批量新增

2.1與mysql寫法不一樣【區別還挺多的】 

並且在虛擬表中最好加上別名 防止兩個字段的值是同樣的

mysql版本

     <insert id="batchInsert"  parameterType="java.util.List">
         insert into table_name(字段1,字段2)   values 
      <foreach collection="list" item="item" index="index" separator=",">

           (#{item.字段1,jdbcType=VARCHAR}, # {item.段2,jdbcType=INTEGER})                 

     </foreach>
     </insert>

oracle 版本:

<insert id="batchInsert" parameterType="java.util.List"> INSERT INTO HIST_LD_CHANGE(LINE_ID,LINE_NAME)     select a.* from (       <foreach collection="list" close=")" open="(" separator="union all" item="item">                   SELECT #{item.字段1},#{item.字段2}  FROM DUAL      </foreach>     ) a</insert>

後面發現會報這樣的問題

此時須要把這個sql改成 臨時表要有列的別名 防止出現重複列 致使sql執行失敗

<insert id="batchInsert" parameterType="java.util.List">

INSERT INTO HIST_LD_CHANGE(LINE_ID,LINE_NAME)
     select a.* from (

      <foreach collection="list" close=")" open="(" separator="union all" item="item">          
         SELECT #{item.字段1} as 字段1,#{item.字段2}  as 字段2  FROM DUAL
      </foreach>
     ) a
</insert>

4.須要使用一個獨立的在線文檔(不易丟失)

 記錄項目經常使用的部分 後面「複製粘貼」更快 減小「工做量」和規範化代碼【能夠減小重複代碼 和bug統一調改】

本身編輯的部分文檔:https://www.yuque.com/docs/share/e1356bc4-680e-4966-8e22-a0f4d86f8f78?# 《招標輔助》

本文來源於:宋文超super,專屬平臺有csdn、思否(SegmentFault)、 簡書、 開源中國(oschina),轉載請註明出處。
相關文章
相關標籤/搜索