日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6、mybatis中的sql映射文件详解(1)

發(fā)布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6、mybatis中的sql映射文件详解(1) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

對于初學者,如果進行mybatis的學習呢?我總結了幾點,會慢慢的更新出來。首先大家需要了解mybatis是什么、用mybatis來做什么、為什么要用mybatis、有什么優(yōu)缺點;當知道了為什么的時候就開始了解如何用的問題,如何使用mybatis、有幾種使用方式、各種方式的優(yōu)缺點,在這個階段也會學習mybatis涉及到的一些標簽的用法;當知道了基礎用法之后,就開始接觸一些高級的用法,例如動態(tài)sql的使用、mybatis的緩存使用等;至此,在實戰(zhàn)項目中使用mybatis進行開發(fā)已經沒有問題了。

接下來就開始深入的研究一下mybatis這個持久層的框架,在純技術的方面進行研究,提高自己的能力。首先,大家需要了解一下mybatis的整體技術架構和工作原理;接下來,就開始了解一下mybatis各大核心組件的具體功能及其工作原理。至此,算是對mybatis的原理簡單的了解一下了,由于博主的能力有限,因此對于mybatis的框架技術研究也就到這里算結束了。

最后會了解一些其他的東西,例如:mybatis的逆向工程使用、如何開發(fā)一個mybatis插件,在這里會介紹一下mybatis的分頁實現(xiàn)等。

至此,mybatis也算是入門了,出去就可以和別人說,你稍微了解mybatis框架,對其也多少有一點自己的理解和看法了。

目錄

1、sql映射文件中的標簽

2、insert 標簽

3、delete 標簽

4、update 標簽

5、select 標簽

6、sql 標簽


在實際開發(fā)過程中,最多的還是使用sql映射文件和接口綁定的方式進行應用開發(fā),對于接口而言沒有什么要介紹的,只需要記住sql映射文件中的命名空間要和綁定的接口的全路徑限定名一致即可。接下來詳細的介紹一下sql映射文件的開發(fā)。

1、sql映射文件中的標簽

sql映射文件中除去自定義的sql,主要還是一些標簽,正是通過這些標簽和對應的標簽屬性才實現(xiàn)了自動映射,接下來詳細的說一下sql映射文件中的標簽用法

序號標簽名作用
1select映射sql查詢語句
2insert映射sql添加語句
3update映射sql修改語句
4delete映射sql刪除語句
5sql聲明可復用的sql語句
6resultMap自定義從數據庫結果集中加載對象的規(guī)則
7cache設置當前sql映射文件的緩存信息
8cache-ref應用其他sql映射文件的緩存信息

這一篇文章只介紹標簽 insert、delete、update、select、sql 的基本用法

2、insert 標簽

insert 標簽用于映射sql的新增語句,具體使用如下:

<!-- 添加一條記錄 --><insert id="insertUser">insert into oa_user (id, loginName, name) value (#{id}, #{loginName}, #{name}) </insert>

上邊是一個簡單的新增記錄的例子,有時需要獲取添加后數據的id,或者是通過數據庫自增的方式添加數據時,需要返回新增數據的id,這是可以使用屬性userGeneratedKeys和keyProperty進行字段的獲取,具體使用如下:

<!-- 新增一條記錄,此時,數據的主鍵ID通過自增的方式生成,并返回ID封裝到字段 id 中--><insert id="insertUserAuto" userGeneratedKeys="true" keyProperty="id">insert into oa_user (loginName, name) value (#{loginName}, #{name}) </insert>

如上這種主鍵自增的方式需要依賴于數據庫支持主鍵自增,但是有的數據庫是不支持這個特性的,例如oracle,那如何獲取增加的數據的字段呢?此時就需要借助selectKey標簽,具體使用如下:

<insert id="addUser"><!-- keyProperty: 插入的主鍵值封裝給javabean的id屬性 --><!-- resultType: 查出值的返回值類型 --><!-- order:before 是先獲取主鍵在插入,after是先插入在獲取,一般不使用after--><selectKey keyProperty="id" order="BEFORE" resultType="Integer">select user.nextval from dual </selectKey>insert into user (id,name) values (#{id},#{name}) </insert>

有時候為了提高效率,需要進行批量添加,mybatis中通過拼接的方式進行實現(xiàn),具體實現(xiàn)如下:

<!-- 批量添加記錄的寫法 使用 foreach 進行批量添加語句的拼接,其中collection 是接受的數據類型, item 是迭代的每一個元素separator 是連接符 --> <insert id="insertUserList" useGeneratedKeys="true" keyProperty="id">insert into oa_user (id, loginName, name) values<foreach collection="list" item="user" separator=",">(#{user.id}, #{user.loginName}, #{user.name})</foreach> </insert>

3、delete 標簽

delete 標簽用于映射sql的刪除語句,具體使用如下:

<!-- 刪除標簽的使用,通過映射刪除語句進行數據刪除 --> <delete id="delUser">delete from oa_user where id = #{id} </delete>

可以看到,非常簡單,只要會寫sql語句,這個開發(fā)就沒有任何問題。

4、update 標簽

delete 標簽用于映射sql的修改語句,具體使用如下:

<update id="updateUser">update oa_user set loginName = #{loginName} where id = #{id} </update>

5、select 標簽

select 標簽用于映射sql的查詢語句,具體使用如下:

<!-- 使用select標簽映射一個簡單的查詢語句 --> <select id="selectUser" resultType="com.app.mapper.User">select * from oa_user where id = #{id} </select>

6、sql 標簽

sql 標簽用來定義可重用的sql映射語句,其使用方法比較簡單,只需要使用sql標簽來定義重用的sql,然后在需要用的地方通過 include 標簽引用即可,具體使用如下:

<!-- 自定義要查詢顯示的字段列表 --> <sql id="showUserCols">id , loginName, name </sql><!-- 重用 自定義的sql代碼段 showUserCols --> <select id="selectUser" resultType="com.app.mapper.User">select <include refid="showUserCols"></include>from oa_user where id = #{id} </select>

上邊這是一個簡單的例子,可以為sql 段傳入參數,具體如下:

<!-- 通過${} 來獲取傳入的數據 --> <sql id="showUserCols">${show_user_cols} </sql><!-- 為sql復用段傳入 參數值 --> <select id="selectUser" resultType="com.app.mapper.User">select <include refid="showUserCols"><property name="show_user_cols" value="id, name"/></include>from oa_user where id = #{id} </select>

以上便是基本開發(fā)中常用到的標簽和具體的用法介紹。

其實看到這里,對于剛開始接觸mybatis的人來說,有很多疑惑,我在最初學的時候有兩個疑惑:

1、sql 中如何接受java代碼中傳過來的參數? 也沒看到在sql映射文件中聲明和體現(xiàn)呀。

2、mybatis 是否能實現(xiàn)關聯(lián)查詢,并封裝結果集呢?

其實針對于這兩個問題就是下一篇要描述的 輸入映射和輸出映射,也就是參數的接收和結果集的映射相關問題。

總結

以上是生活随笔為你收集整理的6、mybatis中的sql映射文件详解(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产欧美在线观看视频 | 999国产精品亚洲77777 | 国产一级二级三级精品 | 中出精品 | 中文字幕永久在线播放 | 日本亚洲色大成网站www久久 | 成人在线激情视频 | 乌克兰毛片 | 久久精品国产亚洲AV黑人 | 真人一毛片 | 337p日本大胆噜噜噜噜 | 国产欧美一区二区精品性色 | 视频三区在线 | 琪琪色18| 一区视频在线免费观看 | 欧美精品手机在线 | 亚洲丁香婷婷 | 亚洲欧美另类在线观看 | 国产福利一区二区三区 | 亚洲黄网在线 | 国产成人无码专区 | 一本亚洲 | 精品国产传媒 | 影音先锋成人在线 | 欧美色综合网站 | 野花成人免费视频 | 亚洲第九十九页 | 欧美视频一区二区三区四区在线观看 | 妓院一钑片免看黄大片 | 日本成人一区 | 国产又粗又长又黄视频 | 佐佐木明希电影 | 51精产品一区一区三区 | 久久伊人影院 | 丁香婷婷在线观看 | 日韩欧美国产电影 | 免费无遮挡无码永久在线观看视频 | 老头把女人躁得呻吟 | 日韩一区二区在线视频 | 日韩中文字幕一区二区三区四区 | 亚洲欧美激情在线观看 | 国产天堂 | 亚洲天堂区 | 香蕉日日 | 欧美jizz19性欧美 | 131mm少妇做爰视频 | 激情国产一区 | 天天色小说 | 香蕉视频官网在线观看 | 亚洲青青草 | 影音先锋亚洲一区 | 污视频网站在线播放 | 黄网免费视频 | 亚洲激情欧美 | 国产中文字幕在线免费观看 | 九九资源网 | 国产字幕av | 日韩男女啪啪 | 正在播放亚洲 | 另类av小说 | 国产1区在线 | 丰满少妇被猛烈进入高清播放 | missav|免费高清av在线看 | 女同一区 | 亚洲精品一 | 中文字幕在线观看免费视频 | 天天操天天弄 | 久久久久久一 | 国产一区二区三区在线 | 天天透天天操 | 亚洲国产剧情在线观看 | 色猫咪av在线 | 日韩精品在线免费观看视频 | 91喷水 | 香蕉伊人 | 天天色天天射天天操 | 壮汉被书生c到合不拢腿 | 九九热在线精品 | 日本护士╳╳╳hd少妇 | 免费看a毛片 | 久久久精品在线观看 | 免费禁漫天堂a3d | 伊人一级片 | 天天色小说 | 小柔好湿好紧太爽了国产网址 | 久久久久久久久久国产精品 | 一级淫片a | 经典一区二区 | 久久中文字幕电影 | 亚洲一卡二卡 | 毛片动漫 | 亚洲最大福利视频网 | 老妇女玩小男生毛片 | 1000部做爰免费视频 | 狠狠97| 日韩三区视频 | 爱福利视频广场 | 涩涩涩涩涩涩涩涩涩涩 | www.久久久 |