If I am in non-commit mode and I try to commit a database transaction using the commit object, and the commit fails, will all queries in that commit be undone, or do I need to call rollback()? For example, say I want to commit 10 queries, but in the middle of committing them, I lose my database connection. Will the ones that were already committed be permanent changes, or do the changes not get made to the database until all of the queries successfully commit?
When you loose your database connection an exception will be thrown. You can decide after the exception to rollback your transaction. The only problem is that you don't have a connection to a database for rolling back your transaction.
Your DBMS will discover the loss of the connection and will rollback your transaction.