[转载]来自https://www.cnblogs.com/panxuejun/p/9202378.html
这个问题的方法是 mybatis-generator 生成的模板方法。
updateByExampleSelective(@Param(“record”) Xxx record, @Param(“example”) XxxExample example);
第一个参数 是要修改的部分值组成的对象,其中有些属性为null则表示该项不修改。
第二个参数 是一个对应的查询条件的类, 通过这个类可以实现 order by 和一部分的where 条件。
使用方法大概如下:
XxxExample example = new XxxExample();
Criteria criteria = example.createCriteria();
// 这个内部类中有对应Xxx的每个属性的条件方法 .
// 假如 Xxx 包含id 属性.
// 那它就有 andId(属性)EqualTo(SQL里的各种标准条件语句, =、!=、<、>、in、like、not之类的)的方法.
criteria.andIdEqualTo(paramId).andAgeIn(Arrays.asList({10,20,30}));
xxxMapper.updateByExampleSelective(xx,example);