Ich hab die ganze nacht und heute auch mich mit meiner Aufgabe und H2 Tutorial und beispiele beschäftigt, dass ich die ArrayList oder die Objekte in H2 Database speichern kann ..
Ich hab H2 installiert in eclipse auch, aber ich hab keine Ahnung, was ich in der Klasse schreiben soll.
Ich hab einen beispiel gefunden. aber ich verstehe es nicht .. wenn ich zu erst datenbank erstellen soll oder nun dass alles nur in der klasse "Database" schreiben soll.. Ich muss es bis morgen um 10 abschicken .. ich hab grade blackout, ich hoffe, dass jemand 10 minuten zeit hast um mir einen beispiel zu zeigen wie kann ich die ArrayList oder die Objekte die ich da hab in der Database speichern kann .. ich kann es gucken und verstehen und weiter machen ..
vielen vielen Dank, wenn ihr bisschen zeit hat und mir weiter helfen könntet. es wäre sehr nett.
Danke
meine code sieht jetzt so aus:
Main Klasse:
Input Klasse:
"Hier habe ich einen kleinen Problem, ich kriege Statt "Datum", "null",
warum weiß´s nicht. ich glaube, ich hab alles in der calculateDate richtig gebaut."
Danke dir
Save Klasse:
Database Klasse: "Das ist einen Beispiel was ich gefunden hab aber ich verstehe es nicht, ich bin Anfänger, und hab nicht so viel Ahnung von Database, ich hab den Beispiel probiert und es verbindet sich und zeig Ergebnis! ich hab nicht so viel zeit, ich glaube nicht dass ich es alleine schaffen wird." Danke euch
Ich hab H2 installiert in eclipse auch, aber ich hab keine Ahnung, was ich in der Klasse schreiben soll.
Ich hab einen beispiel gefunden. aber ich verstehe es nicht .. wenn ich zu erst datenbank erstellen soll oder nun dass alles nur in der klasse "Database" schreiben soll.. Ich muss es bis morgen um 10 abschicken .. ich hab grade blackout, ich hoffe, dass jemand 10 minuten zeit hast um mir einen beispiel zu zeigen wie kann ich die ArrayList oder die Objekte die ich da hab in der Database speichern kann .. ich kann es gucken und verstehen und weiter machen ..
vielen vielen Dank, wenn ihr bisschen zeit hat und mir weiter helfen könntet. es wäre sehr nett.
Danke
meine code sieht jetzt so aus:
Main Klasse:
Java:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Mainclass
{
public static String input = null;
public static List<Input> inputList = new ArrayList<Input>();
public static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) throws Exception
{
do
{
System.out.println("----------------------------------------------------------------------");
System.out.println("Calculate your work time: (1) ");
System.out.println("List all work times: (2) ");
System.out.println("Save as Txt: (3) ");
System.out.println("Save as Xml: (4) ");
System.out.println("Save as Database: (5) ");
System.out.println("Exit: (6) ");
System.out.println("----------------------------------------------------------------------");
input = scanner.next();
if (input.equals("1"))
{
calculateWork(inputList,scanner);
}
else if (input.equals("2"))
{
listWork(inputList);
}
else if (input.equals("3"))
{
Save.saveWorkTxt(inputList);
}
else if (input.equals("4"))
{
Save.saveWorkXml(inputList);
}
else if (input.equals("5"))
{
//Database.***(inputList);
}
else if (input.equals("6"))
{
System.out.println("Thank you for using The program.\n" +
"Exit will Done !");
System.exit(0);
}
else
{
System.out.println("Incorrect entry!!!");
}
}
while (true);
}
private static void calculateWork( List<Input> inputList, Scanner scanner)
{
double fulltime = 0.0;
do
{
System.out.println("Please put your name:\n ");
String name = scanner.next();
System.out.println("Please put a date:\n");
String date = scanner.next();
System.out.println("Please put your start work time:\n");
String starttime = scanner.next();
System.out.println("Please put your end work time:\n");
String endtime = scanner.next();
System.out.println("Please put your start pause time:\n");
String startpause = scanner.next();
System.out.println("Please put your start pause time:\n");
String endpause = scanner.next();
Input inputObject = new Input(name, date, starttime, endtime,
startpause, endpause, fulltime );
inputList.add(inputObject);
inputObject.calculateTime();
System.out.println(name+ " have worked on " +Input._icurrDay +
+ inputObject.getFulltime() + " hours.\n");
System.out.println("Calculate another date ? (y/n)");
}
while (scanner.next().equals("y"));
}
private static void listWork( List<Input> inputList)
{
do
{
for (int i = 0; i < inputList.size(); i++)
{
System.out.println("Date: " + inputList.get(i).getDate()
+ "\nName: " + inputList.get(i).getName()
+ "\nYou worked on this day: "
+ inputList.get(i).getFulltime() + "hours.\n");
}
System.out.println("To MainMenu ? (y/n)");
}
while (scanner.next().equals("n"));
}
}
Input Klasse:
"Hier habe ich einen kleinen Problem, ich kriege Statt "Datum", "null",
warum weiß´s nicht. ich glaube, ich hab alles in der calculateDate richtig gebaut."
Danke dir
Java:
import java.util.GregorianCalendar;
public class Input
{
public static String _icurrDay;
public String _name;
public String _date;
public String _starttime;
public String _endtime;
public String _startpause;
public String _endpause;
public double _fulltime;
public Input(String name, String date, String starttime, String endtime,
String startpause, String endpause, double fulltime)
{
this._name = name;
this._date = date;
this._starttime = starttime;
this._endtime = endtime;
this._startpause = startpause;
this._endpause = endpause;
this._fulltime = fulltime;
}
public String getName()
{
return _name;
}
public void setName(String newName)
{
this._name = newName;
}
public String getDate()
{
return _date;
}
public void setDate(String newDate)
{
this._date = newDate;
}
public String get_starttime()
{
return _starttime;
}
public void set_starttime(String _starttime)
{
this._starttime = _starttime;
}
public String getEndtime()
{
return _endtime;
}
public void setEndtime(String newEndtime)
{
this._endtime = newEndtime;
}
public String get_startpause()
{
return _startpause;
}
public void setStartpause(String newStartpause)
{
this._startpause = newStartpause;
}
public String getEndpause()
{
return _endpause;
}
public void setEndpause(String newEndpause)
{
this._endpause = newEndpause;
}
public double getFulltime()
{
return _fulltime;
}
public void setFulltime(double newfulltime)
{
this._fulltime = newfulltime;
}
public void calculateTime()
{
String[] splitStartTime = _starttime.split(":");
double startHour = Integer.valueOf(splitStartTime[0]).intValue();
double startMinute = Integer.valueOf(splitStartTime[1]).intValue();
double istartTime = startHour * 60 + startMinute;
String[] splitEndTime = _endtime.split(":");
double endHour = Integer.valueOf(splitEndTime[0]).intValue();
double endMinute = Integer.valueOf(splitEndTime[1]).intValue();
double iendTime = endHour * 60 + endMinute;
String[] splitPauseStart = _startpause.split(":");
double pauseStartHour = Integer.valueOf(splitPauseStart[0]).intValue();
double pauseStartMinute = Integer.valueOf(splitPauseStart[1]).intValue();
double ipauseStart = pauseStartHour * 60 + pauseStartMinute;
String[] splitPauseEnd = _endpause.split(":");
double pauseEndHour = Integer.valueOf(splitPauseEnd[0]).intValue();
double pauseEndMinute = Integer.valueOf(splitPauseEnd[1]).intValue();
double ipauseEnd = pauseEndHour * 60 + pauseEndMinute;
if (iendTime < istartTime)
{
if (ipauseEnd < ipauseStart)
{
_fulltime = (((24 * 60) + iendTime - istartTime) - ((24 * 60) + (ipauseEnd - ipauseStart))) / 60;
}
else
{
_fulltime = (((24 * 60) + iendTime - istartTime) - (ipauseEnd - ipauseStart)) / 60;
}
}
else
{
_fulltime = ((iendTime - istartTime) - (ipauseEnd - ipauseStart)) / 60;
}
}
public void calculateDate()
{
String[] splitDate = _date.split(".");
int year = Integer.valueOf(splitDate[2]);
int month = Integer.valueOf(splitDate[1]);
int day = Integer.valueOf(splitDate[0]);
GregorianCalendar calendar = new GregorianCalendar(year, month, day);
int icurrDay = calendar.get(GregorianCalendar.DAY_OF_WEEK);
if(icurrDay == 0)
{
_icurrDay = "Sunday";
}
if(icurrDay == 1)
{
_icurrDay = "Monday";
}
if(icurrDay == 2)
{
_icurrDay = "Tuesday";
}
if(icurrDay == 3)
{
_icurrDay = "Wednesday";
}
if(icurrDay == 4)
{
_icurrDay = "Thursday";
}
if(icurrDay == 5)
{
_icurrDay = "Friday";
}
if(icurrDay == 6)
{
_icurrDay = "Saturday";
}
}
}
Save Klasse:
Java:
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.List;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class Save {
public static Writer txtoutput = null;
public static Writer xmloutput = null;
public static void saveWorkTxt(List<Input> inputList) throws Exception
{
do
{
File data = new File("Times.txt");
txtoutput = new BufferedWriter(new FileWriter(data));
for (int i = 0; i < inputList.size(); i++)
{
String string = "Name: " + Mainclass.inputList.get(i).getName() +
"\nDate: " + Mainclass.inputList.get(i).getDate() + " from "
+ Mainclass.inputList.get(i).get_starttime() + " to "
+ Mainclass.inputList.get(i).getEndtime()
+ " - worked on this day: "
+ Mainclass.inputList.get(i).getFulltime() + "hours" + "\n\n";
txtoutput.write(string);
}
txtoutput.close();
System.out.println("The Info´s saved in your Workspace folder");
System.out.println("To MainMenu ? (y/n)");
}
while (Mainclass.scanner.next().equals("n"));
}
public static void saveWorkXml(List<Input> inputList) throws Exception
{
do
{
File data = new File("Times.xml");
xmloutput= new BufferedWriter(new FileWriter(data));
XStream xstream = new XStream(new DomDriver());
xstream.alias("Times", Input.class);
String string = xstream.toXML(inputList);
xmloutput.write(string);
xmloutput.close();
System.out.println("The Info´s saved in your Workspace folder");
System.out.println("To MainMenu ? (y/n)");
}
while (Mainclass.scanner.next().equals("n"));
}
}
Database Klasse: "Das ist einen Beispiel was ich gefunden hab aber ich verstehe es nicht, ich bin Anfänger, und hab nicht so viel Ahnung von Database, ich hab den Beispiel probiert und es verbindet sich und zeig Ergebnis! ich hab nicht so viel zeit, ich glaube nicht dass ich es alleine schaffen wird." Danke euch
Java:
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Database {
public static void main(String[] a) throws Exception {
Connection conn = null;
String tab = "TESTTABELLE";
try {
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection(
"jdbc:h2:~/.javabeginners/h2Test", "", "");
DatabaseMetaData md = conn.getMetaData();
String[] types = { "TABLE", "SYSTEM TABLE" };
ResultSet metaRS = md.getTables(null, null, "%", types);
while (metaRS.next()) {
// Catalog
String tableCatalog = metaRS.getString(1);
System.out.println("Catalog: " + tableCatalog);
// Schemata
String tableSchema = metaRS.getString(2);
System.out.println("Tabellen-Schema: " + tableSchema);
// Tabellennamen
String tableName = metaRS.getString(3);
System.out.println("Tabellen-Name: " + tableName);
// Tabellentyp
String tableType = metaRS.getString(4);
System.out.println("Tabellen-Typ: " + tableType + "\n");
}
Statement stmt = conn.createStatement();
String dropQ = "DROP TABLE IF EXISTS " + tab;
stmt.executeUpdate(dropQ);
String createQ = "CREATE TABLE IF NOT EXISTS "
+ tab
+ "(ID INT PRIMARY KEY AUTO_INCREMENT(1,1) NOT NULL, NAME VARCHAR(255))";
stmt.executeUpdate(createQ);
String insertQ = "INSERT INTO " + tab
+ " VALUES(TRANSACTION_ID(),'Hello World!')";
stmt.executeUpdate(insertQ);
ResultSet selectRS = stmt.executeQuery("SELECT * FROM " + tab);
while (selectRS.next()) {
System.out.printf("%s, %s\n", selectRS.getString(1),
selectRS.getString(2));
}
System.out.println("Liste Tabellen...");
String tablesQ = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='PUBLIC'";
ResultSet tablesRS = stmt.executeQuery(tablesQ);
while (tablesRS.next()) {
System.out.printf("Tabelle %s vorhanden \n",
tablesRS.getString(1));
}
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null)
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}