Eu mesmo uso sua segunda opção com LIMIT na consulta sql.
Mas há vários métodos que suportam paginação usando a classe RowBounds. Isso está bem descrito na documentação do mybatis aqui
Preste atenção ao tipo de conjunto de resultados correto a ser usado.