課程
/后端開發
/Java
/Java高并發秒殺API之業務分析與DAO層
select的測試都沒問題,但是 update 的測試一直返回0, 在 sql 里寫出對應的相同的代碼就可以修改數據庫,但是在測試類里就無法修改
2017-12-26
源自:Java高并發秒殺API之業務分析與DAO層 4-9
正在回答
update返回0表示你update失敗,通常情況下update都要有where條件的,肯定是where條件不符合導致的,所以應該從where條件入手去看問題
我猜:where條件中有中文而且jdbc.jdbcUrl中沒有設置useUnicode=true&characterEncoding=utf8
僅僅是我的猜測,因為我在這里碰到過坑
當時我也是update,傳入的where條件中有中文,并且沒有寫utf-8那些參數,所以實際傳入到數據庫的條件變成了亂碼,自然where不匹配,所以失敗了
貼出你的insert代碼和你的jdbc.properties中的jdbc.jdbcUrl的值
舉報
Java實現高并發秒殺API的第一門課,還等什么,趕快來加入吧
1 回答context:property-placeholder標簽無效
1 回答Windows下的powershel下mvn命令無效?
4 回答Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
2 回答秒殺課程,數據庫建立時,為何start_time字段執行后,會自動多出default current_timestamp on update current_timestamp?
1 回答求問 :數據庫操作update,和insert為什么會有int的返回值,這個返回值是什么
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-12-26
update返回0表示你update失敗,通常情況下update都要有where條件的,肯定是where條件不符合導致的,所以應該從where條件入手去看問題
我猜:where條件中有中文而且jdbc.jdbcUrl中沒有設置useUnicode=true&characterEncoding=utf8
僅僅是我的猜測,因為我在這里碰到過坑
當時我也是update,傳入的where條件中有中文,并且沒有寫utf-8那些參數,所以實際傳入到數據庫的條件變成了亂碼,自然where不匹配,所以失敗了
2017-12-26
貼出你的insert代碼和你的jdbc.properties中的jdbc.jdbcUrl的值