SqlSession sqlSession = sqlSessionFactory.openSession();
try {
MyObjectMapper mapper = sqlSession.getMapper(MyObjectMapper.class);
MyObject record = new MyObject();
FirstName fn = new FirstName();
fn.setValue("Fred");
record.setFirstname(fn);
record.setLastname("Flintstone");
record.setId1(1);
record.setId2(1);
mapper.insert(record);
record = new MyObject();
fn = new FirstName();
fn.setValue("Wilma");
record.setFirstname(fn);
record.setLastname("Flintstone");
record.setId1(1);
record.setId2(2);
mapper.insert(record);
record = new MyObject();
fn = new FirstName();
fn.setValue("Pebbles");
record.setFirstname(fn);
record.setLastname("Flintstone");
record.setId1(1);
record.setId2(3);
mapper.insert(record);
record = new MyObject();
fn = new FirstName();
fn.setValue("Barney");
record.setFirstname(fn);
record.setLastname("Rubble");
record.setId1(2);
record.setId2(1);
mapper.insert(record);
record = new MyObject();
fn = new FirstName();
fn.setValue("Betty");
record.setFirstname(fn);
record.setLastname("Rubble");
record.setId1(2);
record.setId2(2);
mapper.insert(record);
record = new MyObject();
fn = new FirstName();
fn.setValue("Bamm Bamm");
record.setFirstname(fn);
record.setLastname("Rubble");
record.setId1(2);
record.setId2(3);
mapper.insert(record);
MyObjectCriteria example = new MyObjectCriteria();
fn = new FirstName();
fn.setValue("B%");
example.createCriteria().andFirstnameLike(fn).andId2EqualTo(3);
fn = new FirstName();
fn.setValue("W%");
example.or(example.createCriteria().andFirstnameLike(fn));
example.setOrderByClause("ID1, ID2");
List<MyObject> answer = mapper.selectByExample(example);
assertEquals(2, answer.size());