91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

@insert?mybatis實體接收前端傳遞的參數怎么實現

發布時間:2022-07-11 13:34:25 來源:億速云 閱讀:462 作者:iii 欄目:開發技術

這篇文章主要講解了“@insert mybatis實體接收前端傳遞的參數怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“@insert mybatis實體接收前端傳遞的參數怎么實現”吧!

@insert mybatis踩坑實體接收前端傳遞的參數

插入方法使用的使用entity實體對象進行接收的

@Insert(" insert into infor (name,pass,salary) values (#{infor.name},#{infor.pass},#{infor.salary})")
    public int save(@Param("infor") Infor infor);

//必須添加@param這個注解,使得mybatis去解析這個數據,否則一直提示infor的沒有getter方法

@Insert(" insert into infor (name,pass,salary) values (#{name},#{pass},#{salary})")
    public int save( Infor infor);

經過后來的工作才 認識到,使用上面的一種方式確實可行,同時我們可以直接使用這個實體類的屬性進行對應的insert的操作,特此來更新博文。

錯誤提示:

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'infor' in 'class com.ys.study.entity.Infor'
    at org.apache.ibatis.reflection.Reflector.getGetInvoker(Reflector.java:419) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.MetaClass.getGetInvoker(MetaClass.java:164) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.java:162) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.wrapper.BeanWrapper.get(BeanWrapper.java:49) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:122) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.MetaObject.metaObjectForProperty(MetaObject.java:145) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:115) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.scripting.defaults.DefaultParameterHandler.setParameters(DefaultParameterHandler.java:79) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.statement.PreparedStatementHandler.parameterize(PreparedStatementHandler.java:93) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.statement.RoutingStatementHandler.parameterize(RoutingStatementHandler.java:64) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198) ~[mybatis-3.4.6.jar:3.4.6]
    at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:185) ~[mybatis-3.4.6.jar:3.4.6]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171]

mybatis獲取主鍵及參數傳遞的有關問題

獲取主鍵值

insert into emp values(null,#{ename},#{age},#{sex}) /*insert into emp values(null,'${ename}',${age},'${sex}')*/

不同的參數類型,${}和#{}的不同取值方式

1.當傳輸參數為單個String或基本數據類型及其包裝類

  • #{}:可以以任意的名字獲取參數值

  • :只能以{value}huo${_parameter}獲取

2.當傳輸參數為javabean時

#{}和都可以通過屬性名直接獲取屬性值,但是要注意{}的單引號問題

3.當傳輸多個參數時,mybatis會默認將這些參數放在map集合中

兩種方式:

(1) 鍵為01.2,3,…n-1 以參數為值

(2) 鍵為param1,param2,param3…param(n).以參數為值

  • #{}:#{arg0}/#{arg1};#{param1},#{param2}

  • :{param1},param2,{arg0},arg1.但是要注意{}的單引號問題

4.當傳輸map參數時

#{}和都可以通過鍵的名字直接獲值,但是要注意{}的單引號問題

5.命名參數

可以通過@param(:‘key’)為map集合指定鍵的名字

Emp getEmpByIDAndEnameParam(@Param(“eid”) Integer eid, @Param(“ename”) String ename);

#{}和都可以通過鍵的名字直接獲值,但要注意{}的單引號問題

6.當傳輸參數為List或Array,mybatis會將List或Array放在map中

List以list為鍵,Array以array為鍵

感謝各位的閱讀,以上就是“@insert mybatis實體接收前端傳遞的參數怎么實現”的內容了,經過本文的學習后,相信大家對@insert mybatis實體接收前端傳遞的參數怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

崇州市| 耿马| 屏东县| 贺州市| 札达县| 彭水| 定安县| 双江| 舒城县| 营口市| 民和| 墨竹工卡县| 龙海市| 大洼县| 永仁县| 太仓市| 西宁市| 扎鲁特旗| 巴青县| 海安县| 荣成市| 山阴县| 天台县| 大埔县| 武鸣县| 周口市| 兴安县| 安溪县| 黑河市| 顺平县| 洪泽县| 鄂伦春自治旗| 惠东县| 安义县| 乌兰浩特市| 霍山县| 卓资县| 高陵县| 怀化市| 浦江县| 介休市|