课程
/后端开发
/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?
4 回答为什么我写Sql语句的时候还要带上库名?不能直接使用表名比如UPDATE seckill