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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

mybatis传参

發布時間:2023/12/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis传参 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在mybatis的學習中,會發現經常需要傳參,這里以上一節寫的實體類為基礎,當我們要添加一個員工時,需要添加員工的基本信息,以及所屬部門,按照以前的方法,在實體類中,添加部門id屬性,然后通過有參構造的方法傳遞對象,讀取對象的部門id就可以了,但是現在使用mybatis時,因為是一對多的關系,因此實體類中設置的屬性是Dept屬性的,沒有did,因此沒有辦法通過有參構造的方法來傳遞參數,這時就要想辦法將部門的id傳遞過去。因此需要給之前的實體類的有參構造進行修改,

這樣就員工的對象就可以使用有參構造來創建對象,那么添加員工的信息的dao層以及mapper文件如下:

?

這是就會出現問題,分析原因:因為dao層在傳參時,如果參數是實體的話,就可以直接在mapper中設置參數類型來解析,但是如果不是實體的話,就沒辦法解析了,因此當參數不是實體時,需要 用注解。

具體如下:

當使用@param注解傳參時,insert標簽可以不寫參數類型型屬性,因為參數有多個屬性,所以是通過注解來區分的,當參數為對象時,調用對象的屬性為 參數.屬性,通過.來調用,就像本例中的emp.ename

在這里要說明,在mapper文件中使用#{}傳遞參數,當傳遞多個參數時, dao層@param()內的值就是在mapper文件中#{}變量的名字,通過@param()注解來傳遞參數。單個參數可以不需要設置注解,需要指定參數調用的名字就需要設置

在mybatis中傳參分為參數傳遞(需要加注解),實體傳參,map傳參。

轉載于:https://www.cnblogs.com/Zs-book1/p/10989785.html

總結

以上是生活随笔為你收集整理的mybatis传参的全部內容,希望文章能夠幫你解決所遇到的問題。

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