亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

通過自動回復機器人學Mybatis---基礎版

難度中級
時長 4小時30分
學習人數
綜合評分9.73
430人評價 查看評價
9.9 內容實用
9.7 簡潔易懂
9.6 邏輯清晰
  • 111
    查看全部
  • Mybatis中的OGNL表達式
    查看全部
  • Configuration.xml
    查看全部
  • MyBatis常用標簽
    查看全部
    0 采集 收起 來源:常用標簽

    2016-09-06

  • 一、獲取自增主鍵值: <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.imooc.bean.Command"> insert into command(name,description) values(#{name},#{description}) </insert> //解析:添加數據(在主外鍵的關系中)可以使用 useGeneratedKeys="true",可獲取自增長的id,并配合keyProperty="id"(java中實體類的屬性名)指定該對象的主鍵值。 二、找不到namespace.id的異常效果: 1、在Configuration.xml沒有配置<mappers><mapper resource="*.xml"></mapper></mappers>; 2、在1的配置中或selectList("Message.queryMessageList",message);中,名字寫錯。 三、排查SQL語法錯誤:如果控制臺出現SQL語句問題,復制到SQL軟件上執行,若有參數,手動寫上并執行。 四、不要過度使用${}。 五、亂碼問題: 1. servlet傳參時的編碼:request.setCharacterEncoding("utf-8");或直接使用過濾器; 2. Java文件本身的編碼; 3. 連接數據庫的參數中,設定編碼方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8 4. 數據庫、表的編碼; 5. 展示頁面的編碼:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 瀏覽器編碼問題等。
    查看全部
    0 采集 收起 來源:常見問題解析

    2018-03-22

  • 一、resultMap和resultType:當配置resultType時,就不需要配置resultMap,看似resultType方便,但是會被受限制,沒有resultMap開放多。 相同點:都是表示查詢結果集的類型。 不同點:resultMap需要手動配置映射關系,而resultType是直接指定java類型或者自定義的實體類型,查詢結果集的列名必須和實體屬性名稱一致(實體類:名稱大小寫可以忽略;java類型,如Map集合的key大小寫要一致,盡量都大小寫規范,如果不放心可以select ID id,...)。 優缺點: 1、resultType結果集列名要與java屬性名一樣,但是resultMap不受限制,因為resultMap有column來規定。 2、由于SQL類型與Java中類型部分不匹配,resultMap可以通過typeHandler=""來匹配(如:SQL中的0和1來表示java中的false和true;Date類型的轉換),但是resultType無能為力。 二、parameterMap和patameterType: 表示傳入參數的對應關系,前者不推薦使用,只是mybatis為了適應以前的版本。 提示:看到Map字眼的想到映射關系,看到Type字眼的想到類型。 三、#{}和${}: 相同點:都是用來作為占位符。 不同點:#{}在預編譯的時候會唄替換為?,而${}在預編譯的時候直接將變量的值替換進去,而且沒有引號(所以還要加上“'${...}'”),故一般都是用前者,個別情況會使用后者:如需進行排序,且排序字段為參數時可以使用${}(order by后面不喜歡被預編譯,所以使用${}更為恰當)。 四、#{}和ognl:在#{}中如果是基本類型,其中的名稱可以隨便寫(不推薦),但一般都用_parameter,因為值唯一,而ognl中必須寫成_parameter的方式
    查看全部
  • Ps1: <where><if test=""></if>...</where>標簽相當于“where 1=1 and...”,<where>標簽和where 1=1不可共存,兩者取其一即可。 Ps2: <select> select <include refid="columns"></include> from command </select> <sql id="columns">a.id C_ID,b.id,b.commandId</sql> //作用:增強了維護性,減少代碼復用。 Ps3: //解析:<trim>標簽在<select>/<update>等內使用。prefix在sql語句最前面加上,suffix在sql語句最后面加上,去掉sql語句最前面prefixOverrides,去掉sql語句最后面suffixOverrides。 <trim prefix="where" suffix="test" prefixOverrides="andor" suffixOverrides=","> //sql語句 </trim> 提示:prefix="where" prefixOverrides="andor"等價于<where>;prefix="set" suffixOverrides=","等價于<set>。 Ps4: <choose> <when test=""></when> <when test=""></when> <otherwise></otherwise> </choose> 理解1:if—else if—else 理解2:switch—case—case—default Ps5: <collection property="主實體類中的List<子實體類>的對象名" resultMap="子xml中mapper中屬性namespace名.resultMap的id名"/>//這條語句寫在主xml<resultMap>中。 <association property="子實體類中的主實體類的對象名" resultMap="主xml中mapper中屬性namespace名.resultMap的id名"/>//這條語句寫在子xml<resultMap>中。
    查看全部
    0 采集 收起 來源:常用標簽

    2018-03-22

  • 如何在xml的配置文件中反應表結構之間的對應關系呢? 在java中,通過主表的實體類中包含子表的集合來反應一對多的關系,在配置文件中同樣是通過集合來配置這種關系的。在主表的映射文件中使用<collection>標簽來指定子表的對應關系以及子表的引用,使用resultMap屬性來指定子表映射關系的文件,格式是namespace.子表對應關系的id。那么新的問題來了,主表中的id與子表中的id,同時映射到結果集resultMap就會產生問題,所以就需要給任意一個id起一個別名。注意:給表起別名,以及字段的引用,打印出的結果是不包含表名的,比如說 a.id,打印出的結果是沒有a的,所以a.id與b.id映射的都是一個屬性,所以給字段起一個別名,那么字段名就會改變,配置映射文件的時候,注意數據庫字段與java實體類的屬性的對應關系。
    查看全部
  • 如果js中Dom對象的值為 ""、null、undefined、0;則if(Dom對象)為false 點擊按鈕提交請求,判斷字符串不為空的話,執行ajax請求。 ajax復習: url:請求后臺的路徑 type:提交方式 dataType:數據類型 timeout:超時時間 success:成功后的回調函數,函數中的內容是對服務端傳遞的數據進行處理。 data:請求參數
    查看全部
  • Connection為何不需要commit();因為conn.setAutoCommit(true);設置為自動提交,而我們MyBatis把它封裝后,setAutoCommit(false);所以需要手動提交事務。 Ps1:a href="#" 這個在html中有什么作用?跳轉到本頁面頂部,一般建議寫成javascript:void(0);要好一點,點了一點反應都沒有,寫#點了會跳一下的。 Ps2:servlet拿到什么數據類型就什么類型,至于service不一致時,再service里面去修改,這也是service作用之一。 Ps3:MyEclipse對JS等文件報錯處理:http://jingyan.baidu.com/article/ca41422fe094251eae99ede7.html Ps4: /** * 調用后臺批量刪除方法 */ function deleteBatch(basePath){ $("#mainForm").attr("action",basePath+"DeleteBatchServlet.action"); $("#mainForm").submit(); } 解析:將id為mainForm的表單的action提交路徑改為basePath+"DeleteBatchServlet.action"這個并且執行submit提交表單!
    查看全部
  • Ps1: servlet負責接收頁面的值和向頁面傳值。如果有業務邏輯需要處理則調用相應的service; service接收servlet傳過來的值,并對其進行處理,做業務的操作,算法等等,如果有需要則調用相應的dao層; dao層完成與數據庫的交互,執行相應的SQL語句。 Ps2:basePath后面默認有個“/”。 Ps3: <servlet-mapping><br> <servlet-name>...</servlet-name> <url-pattern>/Servlet.action</url-pattern>//推薦使用這種方式,不推薦使用帶“/”方式,因為跳轉的時候需要處理。這樣一來可以避免這個處理問題。 </servlet-mapping> Ps4:增刪改與查詢不一樣,MyBatis查詢默認有事務提交,但增刪改需要手動提交事務。sqlSession.commit();
    查看全部
  • log4j.properties說明: 1.debug:輸出的級別(為大于等于配置的級別,分別有四個級別(由小到大):debug、info、warning、error),Console輸出端的名稱(可以“自定義名稱”,但是下面的appender.“自定義名稱”一致)。 2.輸出到控制臺。 3.布局。 4.輸出格式:%d產生時間,%t線程,%p日志級別(“-”號,空格在最右邊(左對齊),去掉“-”號,空格在最左邊(右對齊);5:至少占位5個位置),%c日志打印的類,%m輸出內容,%n換行。 5.org.apache:該包下的日志級別,第一行是針對所有的日志定義的級別。
    查看全部
  • OGNL表達式支持直接調用java對象的方法 ognl表達式的邏輯表達式需要轉義如“&”需要轉義為“&amp;”或者用“and”替換,“"”轉義為“&quot;” 傳參使用#{參數名}
    查看全部
  • Mybatis總的OGNL表達式之二:
    查看全部
  • Mybatis中的OGNL表達式之一
    查看全部

舉報

0/150
提交
取消
課程須知
各位小伙伴們需要有一定Java Web開發基礎,至少需要掌握以下內容: 1、JSP、Servlet、JSTL、EL 2、JS/JQUERY 3、JDBC 如果你還是新人,建議先移步網站相關課程,在理解并掌握相關知識之后再回來進修
老師告訴你能學到什么?
1、 Mybatis 的下載與配置 2、 Mybatis 的基本功能應用 3、 融合 Mybatis 的一個完整小案例的實戰 4、 Mybatis 的特征總結 5、 Mybatis 常見 QA

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!