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

Mybatis執(zhí)行update失敗的解決

 更新時間:2021年09月01日 16:43:42   作者:wgxaszc8  
這篇文章主要介紹了Mybatis執(zhí)行update失敗的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Mybatis執(zhí)行update失敗

今天在進行分布式重構(gòu)項目的時候碰到一個問題,在執(zhí)行sql的時候只有update不能成功,其他語句都可以正常執(zhí)行,報錯如下: 版本:org.mybatis:mybatis:3.4.5

接口

@UpdateProvider(type = ManagerProvider.class, method = "updateManager")
int updateManager(Manager manager) throws Exception;

報錯信息

Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Hana]
org.springframework.jdbc.UncategorizedSQLException: Error getting generated key or setting result to parameter object. Cause: java.sql.SQLException: 不允許的操作;

uncategorized SQLException for SQL []; SQL state [99999]; error code [17090]; 不允許的操作; nested exception is java.sql.SQLException: 不允許的操作

原因

由于mybatis在執(zhí)行insert和update的時候都默認生成key,然后注入,所以在執(zhí)行update的時候會報錯。

解決辦法

在接口上增加注解 @Options(useGeneratedKeys = false),不讓mybatis自動注入key,問題解決。

@UpdateProvider(type = ManagerProvider.class, method = "updateManager")
@Options() //    @Options(useGeneratedKeys = false)
int updateManager(Manager manager) throws Exception;

最后說明一點,版本:org.mybatis:mybatis:3.4.4這個版本沒有此類問題。

Mybatis插入(更新)失敗 卻不報錯

問題描述

mybatis進行數(shù)據(jù)插入或更新操作,方法成功執(zhí)行,數(shù)據(jù)庫中卻不存在新數(shù)據(jù),原本代碼如下:

    @Test
    public void test7() throws IOException {
        SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        EmployeeMapperDynamicSql mapper = sqlSession.getMapper(EmployeeMapperDynamicSql.class);
        Employee employee = new Employee(null,"gfdhg","456dfgngh@qq.com","female",null);
        mapper.addEmps(Collections.singletonList(employee));
        sqlSession.close();
    }

解決方案

在插入或更新語句后,增添commit,代碼如下:

    @Test
    public void test7() throws IOException {
        SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        EmployeeMapperDynamicSql mapper = sqlSession.getMapper(EmployeeMapperDynamicSql.class);
        Employee employee = new Employee(null,"gfdhg","456dfgngh@qq.com","female",null);
        mapper.addEmps(Collections.singletonList(employee));
        /*添加commit*/
        sqlSession.commit();
        sqlSession.close();
    }

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

相關(guān)文章

  • JAVA簡單工廠模式(從現(xiàn)實生活角度理解代碼原理)

    JAVA簡單工廠模式(從現(xiàn)實生活角度理解代碼原理)

    本文主要介紹了JAVA簡單工廠模式(從現(xiàn)實生活角度理解代碼原理)的相關(guān)知識。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • Jenkins Host key verification failed問題解決

    Jenkins Host key verification failed問題解決

    這篇文章主要介紹了Jenkins Host key verification failed問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • java讀取某個文件夾下的所有文件實例代碼

    java讀取某個文件夾下的所有文件實例代碼

    這篇文章主要介紹了java讀取某個文件夾下的所有文件實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Java獲取項目路徑的多種方式

    Java獲取項目路徑的多種方式

    這篇文章主要介紹了Java獲取項目路徑的多種方式,這時候就需要用java給我們提供的一些獲取相對路徑方法了,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-01-01
  • Java GUI制作簡單的管理系統(tǒng)

    Java GUI制作簡單的管理系統(tǒng)

    這篇文章主要為大家詳細介紹了Java GUI制作簡單的管理系統(tǒng)的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • maven環(huán)境變量配置講解

    maven環(huán)境變量配置講解

    這篇文章主要介紹了maven環(huán)境變量配置講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringBoot使用Mybatis-Generator配置過程詳解

    SpringBoot使用Mybatis-Generator配置過程詳解

    這篇文章主要介紹了SpringBoot使用Mybatis-Generator配置過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • spring boot之SpringApplication 事件監(jiān)聽

    spring boot之SpringApplication 事件監(jiān)聽

    這篇文章主要介紹了spring boot之SpringApplication 事件監(jiān)聽,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • SpringBoot中配置AOP詳解

    SpringBoot中配置AOP詳解

    這篇文章主要介紹了SpringBoot中配置AOP詳解,Spring Boot 在Spring 的基礎(chǔ)上對AOP的配置提供了自動化配置解決方案spring-boot-starter-aop,使開發(fā)者能夠更加便捷地在Spring Boot項目中使用AOP,需要的朋友可以參考下
    2024-01-01
  • 深入解析java中的值傳遞和引用傳遞

    深入解析java中的值傳遞和引用傳遞

    這篇文章主要介紹了深入解析java中的值傳遞和引用傳遞,值傳遞是將變量的值復制給另一個變量,兩個變量之間并沒有直接關(guān)系,引用傳遞是將變量的引用(內(nèi)存地址)傳遞給另一個變量,兩個變量之間指向同一個內(nèi)存地址,修改一個變量的值也會影響到另一個變量
    2023-07-07

最新評論

福海县| 闽清县| 屯昌县| 通渭县| 得荣县| 丰镇市| 乌兰县| 嘉义市| 唐山市| 峨眉山市| 常宁市| 富川| 佛山市| 综艺| 舞钢市| 荃湾区| 大余县| 聂拉木县| 济南市| 华池县| 亚东县| 泗阳县| 涟源市| 双辽市| 肇源县| 磐石市| 东丽区| 米脂县| 报价| 沽源县| 寿阳县| 木里| 汉中市| 崇礼县| 台北市| 平远县| 永定县| 富锦市| 西平县| 大同市| 札达县|