前置说明:那条语句我直接放在 MySQL 的命令行是可以执行成功的,但是用 MyBatis 就死活成功不了,也不报错,我怀疑是我字符串用=进行比较的问题,因为这是我第一次 where 等号比较字符串,但是我又排除掉了,因为 MySQL 命令行是正常的
@Delete("DELETE FROM nfc WHERE userId = #{userId} AND clientNFCID = #{clientNFCID}")
void delete(long userId,String clientNFCID);
@Data
public class NFC {
private long id;
private int clientPID;
private String name;
private String clientNFCID;
private long userId;
private long modifyTime;
}
反复测试过数次,代码中均无一次成功,下面是它的 DEBUG 信息,可以很清楚的看到有那行数据,但就是没能成功:
==> Preparing: DELETE FROM nfc WHERE userId = ? AND clientNFCID = ?
==> Parameters: 100000(Long), "1680752050984"(String)
<== Columns: id, clientPID, name, clientNFCID, userId, modifyTime
<== Row: 1, 84, 已绑定(点击可设置 NFC 别名), 1680690088680, 100000, 1
<== Row: 2, 39, 已绑定(点击可设置 NFC 别名), 1680752050984, 100000, 1
<== Row: 3, 6, 已绑定(点击可设置 NFC 别名), 1681868857387, 100000, 1681868857560
<== Total: 3
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@55fee772]
<== Updates: 0
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.