public ResourceDao insertOrUpdate(ResourceDto... resources) {
   SqlSession session = mybatis.openSession(false);
   ResourceMapper mapper = session.getMapper(ResourceMapper.class);
   try {
     for (ResourceDto resource : resources) {
       if (resource.getId() == null) {
         resource.setCreatedAt(new Date());
         mapper.insert(resource);
       } else {
         mapper.update(resource);
       }
     }
     session.commit();
   } finally {
     MyBatis.closeQuietly(session);
   }
   return this;
 }
 public void insertUsingExistingSession(ResourceDto resourceDto, SqlSession session) {
   ResourceMapper resourceMapper = session.getMapper(ResourceMapper.class);
   resourceMapper.insert(resourceDto);
 }