Если БД не большая, то можно использовать встраиваемую (imbedded) базу данных, например
H2.
База будет подыматься вместе с вашим приложением.
Все что нужно, это подключить в зависимости JDBC драйвер
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.192</version>
</dependency>
И указать URL с нужными параметрами
Простой пример
import java.sql.*;
public class H2Main {
static {
try {
Class.forName("org.h2.Driver");
} catch (ClassNotFoundException e) {
System.err.println("Error load H2 JDBC driver: " + e.getMessage());
}
}
public static void main(String[] args) {
try (Connection con = DriverManager.getConnection("jdbc:h2:./h2example", "sa", "")) {
createSimpleDBSchema(con);
System.out.printf("Message from H2: %s\n", getMessage(con));
} catch (Exception e) {
System.err.printf("%s: %s\n", e.getClass().getSimpleName(), e.getMessage());
}
}
static void createSimpleDBSchema(Connection con) {
try (Statement stmt = con.createStatement()) {
stmt.executeUpdate("CREATE TABLE HelloH2 (message varchar(255) NULL);");
stmt.executeUpdate("INSERT INTO HelloH2 (message) VALUES ('Hello World!')");
} catch (SQLException e) {
System.err.printf("%s: %s\n", e.getClass().getSimpleName(), e.getMessage());
}
}
static String getMessage(Connection con) throws SQLException {
try (Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT message FROM HelloH2")) {
if (rs.next())
return rs.getString("message");
else
return null;
}
}
}