【收藏】MyBatis 常用語法匯總

      網友投稿 838 2025-04-06

      一、MyBatis介紹


      MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優秀的持久層框架。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以對配置和原生Map使用簡單的 XML 或注解,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

      二、MyBatis優點:

      簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易于學習,易于使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現。

      靈活:mybatis不會對應用程序或者數據庫的現有設計強加任何影響。 sql寫在xml里,便于統一管理和優化。通過sql基本上可以實現我們不使用數據訪問框架可以實現的所有功能,或許更多。

      解除sql與程序代碼的耦合:通過提供DAL層,將業務邏輯和數據訪問邏輯分離,使系統的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。

      提供映射標簽,支持對象與數據庫的orm字段關系映射

      提供對象關系映射標簽,支持對象關系組建維護

      提供xml標簽,支持編寫動態sql。

      三、MyBatis缺點:

      編寫SQL語句時工作量很大,尤其是字段多、關聯表多時,更是如此。

      SQL語句依賴于數據庫,導致數據庫移植性差,不能更換數據庫。

      框架還是比較簡陋,功能尚有缺失,雖然簡化了數據綁定代碼,但是整個底層數據庫查詢實際還是要自己寫的,工作量也比較大,而且不太容易適應快速數據庫修改。

      二級緩存機制不佳

      四、常用語法匯總

      resultType 用于返回值只有一個字段的類型,resultMap 用于返回值有多個字段的類型。

      實體查詢條件一般是指提取出公共的搜索條件,以便多次復用。

      AND id = #{example.id} AND name = #{example.name} AND doccode = #{example.doccode} AND telno = #{example.telno}

      查詢字段名,需要返回的字段信息,提取出來復用,包含基本的和指定字段。一般是使用指定字段,以提高查詢效率。

      id, name, doccode, telno

      主鍵查詢,根據主鍵查詢相關對象信息。

      【收藏】MyBatis 常用語法匯總

      新增數據,并返回主鍵信息,方式一:使用useGeneratedKeys=“true” 和keyProperty=“id”。

      insert into user_info id, name, doccode, telno, #{id}, #{name,jdbcType=VARCHAR}, #{doccode}, #{telno,jdbcType=VARCHAR},

      新增數據,并返回主鍵信息,方式二:使用selectKey。

      insert into user_info name, doccode, telno, #{userinfo.name,jdbcType=VARCHAR}, #{userinfo.doccode,jdbcType=VARCHAR}, #{userinfo.telno,jdbcType=VARCHAR}, SELECT id FROM user_info ORDER BY id DESC LIMIT 0,1

      根據對象更新數據信息

      update user_info name = #{userinfo.name,jdbcType=VARCHAR}, doccode = #{userinfo.doccode}, telno = #{userinfo.telno,jdbcType=VARCHAR}, where id = #{userinfo.id}

      批量插入數據,以List為例。

      insert into user_info values (#{item.name,jdbcType=VARCHAR},#{item.doccode,jdbcType=VARCHAR}, #{item.telno,jdbcType=VARCHAR})

      批量更新數據,以List為例。

      update user_info set name= null where id in #{id}

      批量刪除數據,以List為例。

      delete from user_info where id in #{id}

      繼承map,可查多項個實體

      結語

      好了,以上就是MyBatis 常用語法匯總 ,感謝您的閱讀,希望您喜歡,如對您有幫助,歡迎。如有不足之處,歡迎評論指正。下次見。

      MyBatis SQL

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:使用華為云DevCloud實現代碼上云
      下一篇:excel2007表格如何調整行高(如何調整Excel表格的行高)
      相關文章
      国产亚洲人成无码网在线观看| 伊伊人成亚洲综合人网7777| 亚洲国产精品一区二区第一页| 亚洲免费日韩无码系列| 国产亚洲视频在线观看网址| 亚洲AV无码成人精品区日韩| 亚洲精品无码aⅴ中文字幕蜜桃| 亚洲日韩中文字幕一区| 亚洲日韩看片无码电影| 亚洲一区二区三区在线观看网站| 久久亚洲国产最新网站| 中文字幕乱码亚洲无线三区| 亚洲日韩精品无码AV海量| 亚洲欧美黑人猛交群| 久久久久亚洲国产AV麻豆| 激情无码亚洲一区二区三区| 国产成人亚洲精品无码AV大片 | 国产偷国产偷亚洲清高APP| 久久久久久亚洲av无码蜜芽| 亚洲AⅤ视频一区二区三区| 亚洲精品久久久www| 亚洲女初尝黑人巨高清| 亚洲精品无码久久久久| 亚洲AV成人一区二区三区AV| 18gay台湾男同亚洲男同| 亚洲毛片免费观看| 亚洲综合一区无码精品| 亚洲av无码av在线播放| 亚洲成a人片在线观看老师| 亚洲日韩在线第一页| 亚洲精品二区国产综合野狼| 亚洲AV日韩AV天堂久久| 亚洲春色在线观看| 中文字幕乱码亚洲无线三区 | 亚洲精品无码久久| 国产亚洲女在线线精品| 亚洲中文字幕无码日韩| 亚洲国产女人aaa毛片在线| 亚洲国产美女福利直播秀一区二区| 久久精品国产亚洲av麻豆图片| 亚洲精品无码久久久久YW|