tk.mybatis使用updateByPrimaryKeySelective 的where条件多了非id字段
错误代码
错误完整Java执行代码
实体类
@Table(name = "test")
public class Test {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
/**
* 状态 0无效,1有效
*/
private Boolean status;
/**
* 创建时间
*/
@Column(name = "create_time")
private Date createTime;
/**
* 创建人id
*/
@Column(name = "creator_id")
private Integer creatorId;
/**
* 创建人名称
*/
private String creator;
/**
* 修改时间
*/
@Column(name = "modify_time")
private Date modifyTime;
/**
* 修改人id
*/
@Column(name = "modifier_id")
private Integer modifierId;
/**
* 修改人名称
*/
private String modifier;
/**
* 备注
*/
private String remark;
// -----省略get,set方法
}
mapper文件(对应的xml文件就不在此列出了)
import tk.mybatis.mapper.common.base.update.UpdateByPrimaryKeyMapper;
public interface TestMapper extends UpdateByPrimaryKeyMapper<Test> {
}
Java调用
@Resource
private TestMapper testMapper;
public void update(){
Test test = new Test();
test.setId(12);
test.setRemark("sjiji);
testMapper.updateByPrimaryKey(test);
}
上面为代码详情。在执行update的时候。发现sql语句会如下
update test set remark = 'sjiji' where id = 12 and remark = null and modifier = null and modifierId = null and modifyTime = null and creator = null and creatorId = null and createTime