batchInsertMultipleFollowersAsFixture(names);
List<Follower> followersToUpdate = new ArrayList<Follower>();
for(String name:names)
{
Follower follower = (Follower)getSqlMapClientTemplate().queryForObject("com.alibaba.cobar.client.entities.Follower.finaByName", name);
if(follower != null)
{
followersToUpdate.add(follower);
}
else
{
follower = (Follower)jt2m.queryForObject("select * from followers where name=?", new Object[]{name}, new RowMapper(){
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Follower f = new Follower();
f.setId(rs.getLong(1));
f.setName(rs.getString(2));
return f;
}});
followersToUpdate.add(follower);
}
}
assertEquals(5, followersToUpdate.size());
for(Follower follower:followersToUpdate)
{
follower.setName(follower.getName().toUpperCase());
int affectedRows = getSqlMapClientTemplate().update("com.alibaba.cobar.client.entities.Follower.update", follower);
if(follower.getName().startsWith("A"))
{
assertEquals(1, affectedRows);
Follower f = (Follower)getSqlMapClientTemplate().queryForObject("com.alibaba.cobar.client.entities.Follower.load",follower.getId());
assertEquals(follower.getName(), f.getName());
}
else
{
assertEquals(0, affectedRows);
}