創(chuàng)建條件構(gòu)造器傳入實(shí)體對(duì)象時(shí),沒(méi)有設(shè)置主鍵值,查詢SQL日志顯示主鍵值為0
/** ?*?創(chuàng)建條件構(gòu)造器時(shí)傳入實(shí)體對(duì)象 ?*/ @Test public?void?selectByWrapperEntity(){ ????User?whereUser?=?new?User(); ????whereUser.setName("Jack"); ????whereUser.setAge(20); ????QueryWrapper<User>?queryWrapper?=?new?QueryWrapper<User>(whereUser); ????List<User>?userList?=?userMapper.selectList(queryWrapper); ????userList.forEach(System.out::println); }
##### SQL日志執(zhí)行如下
==>? Preparing: SELECT id,name,age,email FROM user WHERE id=? AND name=? AND age=?
==> Parameters: 0(Long), Jack(String), 20(Integer)
<==????? Total: 0
2020-07-05
我懷疑是你實(shí)體類(lèi)中的主鍵用的基本數(shù)據(jù)類(lèi)型,基本數(shù)據(jù)類(lèi)型的成員變量,例如long的默認(rèn)值是0。所以會(huì)出現(xiàn)你那么現(xiàn)象,換成基本數(shù)據(jù)類(lèi)型對(duì)應(yīng)的包裝類(lèi)即可,因?yàn)槭且妙?lèi)型,默認(rèn)值為null。
2020-06-12
估計(jì)你User實(shí)體類(lèi)的主鍵用的基本類(lèi)型吧,默認(rèn)會(huì)帶默認(rèn)值0的,可以換為包裝類(lèi)型試試