import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Timestamp;
public class DBConnection {
public static void main(String args[]){
startConnection();
newRow(1.2f, 2.3f, 3.2f, 1.2f, 4.3f, 2f);
printDB();
endConnection();
}
private static String fields[] = { "accel_x1", "accel_y1", "accel_z1",
"accel_x2", "accel_y2", "accel_z2", "created_at" };
private static Connection conn = null;
public static Connection startConnection() {
if (conn != null)
return conn;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/airscribe?"
+ "user=root&password=joejoenoshow");
if (!conn.isClosed())
System.out.println("MySQl db: connected!");
} catch (Exception ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ((SQLException) ex).getSQLState());
System.out.println("VendorError: "
+ ((SQLException) ex).getErrorCode());
}
return conn;
}
public static void endConnection() {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void printDB() {
if (conn == null) {
System.out.println("Database connection not made!");
}
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("Select * from sensor_data ");
while (rs.next()) {
for (String field : fields) {
System.out.println(field + " : " + rs.getString(field));
}
}
stmt.close();
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void newRow(float accel_x1, float accel_y1, float accel_z1,
float accel_x2, float accel_y2, float accel_z2) {
if (startConnection() == null) {
System.out.println("Failed to initiate DB connection");
}
try {
PreparedStatement ps = conn.prepareStatement("insert into airscribe.sensor_data values (default,?,?,?,?,?,?,?)");
ps.setFloat(1, accel_x1);
ps.setFloat(2, accel_y1);
ps.setFloat(3, accel_z1);
ps.setFloat(4, accel_x2);
ps.setFloat(5, accel_y2);
ps.setFloat(6, accel_z2);
ps.setTimestamp(7, new Timestamp((new java.util.Date()).getTime()));
ps.executeUpdate();
ps.close();
} catch (Exception e) { e.printStackTrace(); }
}
}