回覆列表
  • 1 # 用Java打醬油

    先來乾貨,在mapper.xml中配置jdbcType=LONGVARBINARY即可。

    詳情如下:

    userMapper.xml

    car.java

    CarServiceImpl.java

    CarMapper.java

    執行結果

    資料庫

    上述示例在以下環境下測試透過:

    <spring.version>4.3.10.RELEASE</spring.version>

    <mybatis.version>3.4.4</mybatis.version>

    <mybatis-spring.version>1.3.1</mybatis-spring.version>

  • 2 # 大劉哥聊技術

    我叫souvc,在網際網路公司做研發工作,看到題目,感覺挺熟悉的,因為曾經也遇到過這個問題,那麼下面我來講講Mybatis如何更新Blog欄位吧。

    簡單原理

    由於並沒有在更新的時候,並沒有把相應的值設定進去,導致更新不成功!下面一起來看看示例。

    簡單需求

    設計一個簡單的部落格,建立文章的資料庫表,並插入到表中。然後更新相應的欄位。

    在Mysql資料庫中建立一張表

    如圖:

    資料庫表為以及資料為:

    新建一個Maven的Java專案

    新建一個名稱叫做:w4j-mybatis-post 的專案。

    引入Jar包依賴

    引入Mybatis和Mysql資料驅動類依賴,測試類

    新建實體類

    根據資料庫新建實體類Posts

    新建介面和對映類

    新建介面PostMapper類以及PostMapper對應的xml檔案

    PostMapper介面

    PostMapper.xml檔案裡面的內容

    insert插入方法和update更新方法

    新建Mybatis配置檔案mybatis-config.xml

    新建測試配置類

    獲取Sqlssion和關閉

    新建測試方法

    1.首先插入一條新的資料。並且透過updateByPrimaryKey進行更新,發現並沒有更新到資料庫。

    2.使用updateByPrimaryKeyWithBLOBs更新即可更新到資料庫。

    效果

    我們設定的值更新了。

    小結

    倆者的區別,就是在XML裡面沒有寫相應的更新欄位,當Mybatis生成sql的時候並沒有設定需要更新的欄位值進去而導致更新不成功!

  • 中秋節和大豐收的關聯?
  • 龍眼酒有什麼功效?