1.updateByExample:根据给定的example更新所有属性,包括主键id,所有属性都需要有值
package com.bsx.test;
public class Test {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Example example = new Example(Test.class);
example.createCriteria().andEqualTo("name", "test");
Test record = new Test();
record.setName("hello");
mapper.updateByExample(record, example);
解析后sql:
UPDATE o2o_video_file SET id = ?,name = ? WHERE ( name = ? )
2.updateByExampleSelective:根据给定的example更新有值的属性
Example example = new Example(Test.class);
example.createCriteria().andEqualTo("name", "test");
Test record = new Test();
record.setName("hello");
mapper.updateByExampleSelective(record, example);
解析后sql:
UPDATE o2o_video_file SET name = ? WHERE ( name = ? )
3.updateByPrimaryKey:根据主键更新所有属性
Test record = new Test();
record.setId(123);
record.setName("hello");
mapper.updateByPrimaryKey(record, example);
解析后sql:
UPDATE o2o_video_file SET id=?, name = ? WHERE ( id = ? )
4.updateByPrimaryKeySelective:根据主键更新有值属性
Test record = new Test();
record.setId(123);
record.setName("hello");
mapper.updateByPrimaryKey(record, example);
解析后sql:
UPDATE o2o_video_file SET name = ? WHERE ( id = ? )