I'm working with the Datastax Node.js driver and I can't figure out when to use a mapper vs. query. Both seem to be able to perform the same CRUD operations.

With a query:

```
const q = SELECT * FROM mykeyspace.mytable WHERE id='12345';
client.execute(q).then(result => console.log('This is the data', result);

```

With mapper:

`const tableRow = await tableMapper.find({ id: '12345' });`

When should I use the mapper over a query and vice versa?