@Test
public void testFieldsOnlyUpdateByExampleSelective() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
FieldsonlyMapper mapper = sqlSession
.getMapper(FieldsonlyMapper.class);
Fieldsonly record = new Fieldsonly(5, 11.22, 33.44);
mapper.insert(record);
record = new Fieldsonly(8, 44.55, 66.77);
mapper.insert(record);
record = new Fieldsonly(9, 88.99, 100.111);
mapper.insert(record);
record = new Fieldsonly(null, 99d, null);
FieldsonlyExample example = new FieldsonlyExample();
example.createCriteria().andIntegerfieldGreaterThan(5);
int rows = mapper.updateByExampleSelective(record, example);
assertEquals(2, rows);
example.clear();
example.createCriteria().andIntegerfieldEqualTo(5);
List<Fieldsonly> answer = mapper.selectByExample(example);
assertEquals(1, answer.size());
record = answer.get(0);
assertEquals(record.getDoublefield(), 11.22, 0.0);
assertEquals(record.getFloatfield(), 33.44, 0.0);
assertEquals(record.getIntegerfield().intValue(), 5);
example.clear();
example.createCriteria().andIntegerfieldEqualTo(8);
answer = mapper.selectByExample(example);
assertEquals(1, answer.size());
record = answer.get(0);
assertEquals(record.getDoublefield(), 99d, 0.0);
assertEquals(record.getFloatfield(), 66.77, 0.0);
assertEquals(record.getIntegerfield().intValue(), 8);
example.clear();
example.createCriteria().andIntegerfieldEqualTo(9);
answer = mapper.selectByExample(example);
assertEquals(1, answer.size());
record = answer.get(0);
assertEquals(record.getDoublefield(), 99d, 0.0);
assertEquals(record.getFloatfield(), 100.111, 0.0);
assertEquals(record.getIntegerfield().intValue(), 9);