package test;
import java.nio.file.*;
import java.sql.*;
import java.io.*;
import java.util.*;
/**
* This program tests that the database and the JDBC driver are correctly configured.
* @version 1.02 2012-06-05
* @author Cay Horstmann
*/
public class TestDB
{
public static void main(String args[]) throws IOException
{
try
{
runTest();
}
catch (SQLException ex)
{
for (Throwable t : ex)
t.printStackTrace();
}
}
/**
* Runs a test by creating a table, adding a value, showing the table contents, and removing the
* table.
*/
public static void runTest() throws SQLException, IOException
{
try {
Connection conn = getConnection();
Statement stat = conn.createStatement();
stat.executeUpdate("CREATE TABLE Greeting (Message CHAR(20))");
stat.executeUpdate("INSERT INTO Greeting VALUES ('Hello, World!')");
try (ResultSet result = stat.executeQuery("SELECT * FROM Greeting"))
{
if (result.next())
System.out.println(result.getString(1));
}
}catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* Gets a connection from the properties specified in the file database.properties.
* @return the database connection
* @throws ClassNotFoundException
*/
public static Connection getConnection() throws SQLException, IOException, ClassNotFoundException
{
Properties props = new Properties();
try (InputStream in = Files.newInputStream(Paths.get("resources/database.properties")))
{
props.load(in);
}
String drivers = props.getProperty("jdbc.drivers");
Class.forName(drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username, password);
}
}
jdbc.drivers=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=true
jdbc.username=root
jdbc.password=admin