package jfxapp; import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import org.jooq.DSLContext; import org.jooq.Record; import org.jooq.Result; import org.jooq.SQLDialect; import org.jooq.impl.DSL; import org.jooq.util.GenerationTool; import org.jooq.util.jaxb.*; import java.math.BigDecimal; import java.net.URL; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.SQLException; import java.util.ResourceBundle; import static javafx.collections.FXCollections.observableArrayList; import static jfxapp.Tables.UDAJE; import static jfxapp.public_.Tables.H2POHLED; import static jfxapp.public_.Tables.ZKUSEBNI; public class samexam7 { private Connection CONN = null; private String host = "jdbc:postgresql://127.0.0.1:5432/fxguidedb"; private final String h2file = "jdbc:h2:file:./Data/fxguidedb"; private final String jmenoh2 = "fxguide"; private final String hesloh2 = "fxguide"; Integer pid = null; @FXML private ResourceBundle resources; @FXML private URL location; @FXML private TextField u_Cele; @FXML private TextField u_Datum; @FXML private TextField u_Maledes; @FXML private GridPane grid1; @FXML private AnchorPane contentPane; @FXML private TextField u_ID; @FXML private TableView table1; @FXML private TableColumn col1, col2, col3, col4, col5, col6; @FXML private TextField u_Desetinne; @FXML private TextField u_Text; @FXML private Button d_Button; @FXML private Button e_Button; @FXML private Button a_Button; @FXML private Button u_Button; @FXML private TabPane tabPane; @FXML void btn_D_Click(ActionEvent event) { code_Gener(); } @FXML void btn_A_Click(ActionEvent event) { jooq_Query2(); } @FXML void btn_U_Click(ActionEvent event) { } @FXML void btn_E_Click(ActionEvent event) { } @FXML void initialize() { if(logOK()) System.out.println("Spojení se podařilo"); else System.out.println("Bohužel kužel..."); viewTable(); } private Connection connH2 () { try { Class.forName("org.h2.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { CONN = DriverManager.getConnection(h2file, jmenoh2, hesloh2); return CONN; } catch (SQLException e) { e.getMessage(); return CONN; } } private boolean logOK() { Connection c = connH2(); if (c!=null) { try { c.createStatement().execute("SELECT 1"); return true; } catch (SQLException e) { e.getMessage(); return false; } } else return false; } private void code_Gener() { Configuration configuration = new Configuration() .withJdbc(new Jdbc() .withDriver("org.h2.Driver") .withUrl(h2file) .withUser(jmenoh2) .withPassword(hesloh2)) .withGenerator(new Generator() .withDatabase(new Database() .withName("org.jooq.util.h2.H2Database") .withIncludes(".*") .withExcludes("") ) .withTarget(new Target() .withPackageName("jfxapp") .withDirectory("./src"))); try { GenerationTool.generate(configuration); } catch (Exception e) { e.printStackTrace(); } } private void jooq_Query1() { DSLContext create = DSL.using(connH2(), SQLDialect.H2); Result result = create.select().from(ZKUSEBNI).fetch(); for (Record r : result) { Integer id = r.getValue(ZKUSEBNI.HID); Integer cis = r.getValue(ZKUSEBNI.HCELE); BigDecimal des = r.getValue(ZKUSEBNI.HDES); BigDecimal mad = r.getValue(ZKUSEBNI.HMALE); String str = r.getValue(ZKUSEBNI.HRETEZ); Date dtm = r.getValue(ZKUSEBNI.HDATUM); System.out.println("ID= " + id.toString() + " Cele= " + cis.toString() + " Desetinne= " + des.toString() + " Male des.= " + mad.toString() + " String: " + str + " Datum= " + dtm); } } private void jooq_Query2() { DSLContext create = DSL.using(connH2(), SQLDialect.H2); Result result = create.select().from(H2POHLED).fetch(); for (Record r : result) { Integer id = r.getValue(H2POHLED.HID); Integer cis = r.getValue(H2POHLED.HCELE); BigDecimal des = r.getValue(H2POHLED.HDES); BigDecimal mad = r.getValue(H2POHLED.HMALE); String str = r.getValue(H2POHLED.HRETEZ); Date dtm = r.getValue(H2POHLED.HDATUM); System.out.println("ID= " + id.toString() + " Cele= " + cis.toString() + " Desetinne= " + des.toString() + " Male des.= " + mad.toString() + " String: " + str + " Datum= " + dtm); } } private void alignTableColumn(final TableColumn[] column, final String[] align) { String pos = null; for (int i=0;i(colName[i])); } private ObservableList dataView() { DSLContext create = DSL.using(connH2(), SQLDialect.H2); ObservableList data = observableArrayList(create.select().from(ZKUSEBNI).fetch()); System.out.println(data.toString()); return data; } private void viewTable() { ObservableList data = dataView(); final TableColumn[] tc = new TableColumn[]{col1, col2, col3, col4, col5, col6}; final String[] cn = new String[]{"hid","hcele","hdes","hmale","hretez","hdatum"}; //final String[] cn = new String[]{"id","celecis","descis","maledes","retezec","datum"}; initCol(tc,cn); alignTableColumn(tc, new String[]{"CA", "RA", "RA", "RA", "LA", "CA"}); table1.setItems(data); } }