I'd take issue with the db statements being isolated, can't insert and update in the same transaction (unless I'm missing something).
I would recommend against using a standard repository pattern in the case you migrate to an ORM since a repo pattern layer tends to have adverse effects on the ORMs performance and the additional abstraction doesn't add any benefit. But I guess that would depend on the ORM.
If a web application, I like creating a connection instance per request.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.