I'm building an application thats going to store artist info, music and other stuff. I was going to use XML as a type of database, but when I was reading some posts on this site, some people said to use a java database. Now I didnt know that they existed for standalone apps. So I came across SQL lite and objectdb.
Am I correct to assume that if I was to use either of these, that the user would have to install separate software? Or will the database software get integrated/compiled/bundled/packaged with my application? I was reading about objectdb and it looks like its something that will get packaged with my application, but not sure.
SQLite is a great choice for exactly what you're referring to - a standalone desktop application. It's overhead is minimal, it does not require a running DBMS and therefore does not introduce a dependency at installation time. In actual fact it's incredibly lightweight, all tables are stored within a single .db file. This obviously introduces potential problems with scalability for your application I can't see this becoming a problem.
To get started you will need a driver/wrapper for the SQLite API (it's a C API so a wrapper will prevent you form having to write JNI code!). SQLiteJDBC is one such wrapper...
You might also want to get familiar with the SQLite runtime. It provides a console application to manage tables/schemas. Here's a good starting tutorial...