最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

@insert mybatis踩坑記錄,實體接收前端傳遞的參數(shù)

 更新時間:2022年07月11日 11:26:31   作者:lv_ys_hao  
這篇文章主要介紹了@insert mybatis踩坑記錄,實體接收前端傳遞的參數(shù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

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

插入方法使用的使用entity實體對象進(jìn)行接收的

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

//必須添加@param這個注解,使得mybatis去解析這個數(shù)據(jù),否則一直提示infor的沒有g(shù)etter方法

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

經(jīng)過后來的工作才 認(rèn)識到,使用上面的一種方式確實可行,同時我們可以直接使用這個實體類的屬性進(jìn)行對應(yīng)的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獲取主鍵及參數(shù)傳遞的有關(guān)問題

獲取主鍵值

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

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

1.當(dāng)傳輸參數(shù)為單個String或基本數(shù)據(jù)類型及其包裝類

  • #{}:可以以任意的名字獲取參數(shù)值
  • :只能以{value}huo${_parameter}獲取

2.當(dāng)傳輸參數(shù)為javabean時

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

3.當(dāng)傳輸多個參數(shù)時,mybatis會默認(rèn)將這些參數(shù)放在map集合中

兩種方式:

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

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

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

4.當(dāng)傳輸map參數(shù)時

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

5.命名參數(shù)

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

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

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

6.當(dāng)傳輸參數(shù)為List或Array,mybatis會將List或Array放在map中

List以list為鍵,Array以array為鍵

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring boot@EnableXXXX注解編程模型講解

    spring boot@EnableXXXX注解編程模型講解

    這篇文章主要介紹了spring boot@EnableXXXX注解編程模型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java如何保證多個線程按一定順序執(zhí)行

    java如何保證多個線程按一定順序執(zhí)行

    這篇文章主要介紹了java如何保證多個線程按一定順序執(zhí)行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 利用Jackson解決Json序列化和反序列化問題

    利用Jackson解決Json序列化和反序列化問題

    Jackson是一個用于處理Json數(shù)據(jù)的Java庫,它提供了一系列功能,包括Json序列化和反序列化,所以本文就來講講如何利用利用Jackson解決Json序列化和反序列化的問題吧
    2023-05-05
  • Java發(fā)送form-data請求實現(xiàn)文件上傳

    Java發(fā)送form-data請求實現(xiàn)文件上傳

    這篇文章主要為大家詳細(xì)介紹了Java發(fā)送form-data請求實現(xiàn)文件上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 淺談SpringMVC HandlerInterceptor詭異問題排查

    淺談SpringMVC HandlerInterceptor詭異問題排查

    這篇文章主要介紹了淺談SpringMVC HandlerInterceptor詭異問題排查,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Netty分布式源碼分析監(jiān)聽讀事件

    Netty分布式源碼分析監(jiān)聽讀事件

    這篇文章主要介紹了Netty分布式監(jiān)聽讀事件方法的代碼跟蹤解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-03-03
  • springboot bootcdn使用示例詳解

    springboot bootcdn使用示例詳解

    這篇文章主要介紹了springboot bootcdn使用,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Java中Stream實現(xiàn)List排序的六個核心技巧總結(jié)

    Java中Stream實現(xiàn)List排序的六個核心技巧總結(jié)

    這篇文章主要介紹了Java中Stream實現(xiàn)List排序的六個核心技巧,分別是自然序排序、反向排序、空值安全處理、多字段組合排序、并行流加速、原地排序等,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • Java枚舉實現(xiàn)自增賦值的方法

    Java枚舉實現(xiàn)自增賦值的方法

    在Java編程里,枚舉(enum)其實是一種特別的類型,用來表示一組常量,當(dāng)我們開發(fā)程序的時候,常常需要給這些枚舉加點其他功能,比如自增賦值的方法,這樣就能更方便地管理和使用啦,這篇文章和大家聊聊,怎么在Java中實現(xiàn)枚舉的自增賦值
    2025-04-04
  • Java String保存字符串的機制

    Java String保存字符串的機制

    Java中字符串以什么格式來存儲?Java 中的 Unicode 字符串會按照 Latin1或者 UTF16 的編碼格式保存在 String 中,本文就詳細(xì)的介紹了一下,感興趣的可以了解一下
    2021-05-05

最新評論

兴国县| 正镶白旗| 米易县| 宣恩县| 北海市| 昌图县| 九江县| 逊克县| 丹凤县| 浦北县| 嵊州市| 铁力市| 肇州县| 绥中县| 新蔡县| 铜山县| 青川县| 北辰区| 固安县| 临城县| 会宁县| 吉安市| 晋城| 平利县| 石楼县| 扬中市| 肃宁县| 巴东县| 龙口市| 龙游县| 丽江市| 柘荣县| 江山市| 和田县| 广宗县| 通河县| 日土县| 紫金县| 永仁县| 田林县| 汾西县|