2016-04-25 3 views
0

非常に新しいvaadinです。私は、私はデータをmysqlデータベースからフェッチして、テーブルにデータを表示する必要があるタスクがあります。その後、すべてのCRUD操作が実行されます。vaadinのmysql dbテーブルの表にデータを表示

私は純粋なJDBC、java、vaadinを使用しています。私は試して、jdbc接続は非常に簡単です。しかし、私はブラウザでテーブルのデータを表示するには固執しています。

以下のコードは私が試したものです。

SimpleJDBCConnectionPool pool = new 
    SimpleJDBCConnectionPool("com.mysql.jdbc.Driver", 
    "jdbc:mysql://localhost:3306/mg", "root", "root"); 
     Notification.show("DB connected"); 
     SQLContainer container = new SQLContainer(new FreeformQuery(
       "SELECT * FROM PRODUCT", Arrays.asList("ID"), pool)); 
     Notification.show("hi" +container); 
     Table table = new Table("Products", container); 

これで、ブラウザのProductsテーブルからデータを表示する方法を固執しました。私はGURUの多くがこれを簡単にやりたがっていることを祈ってください。

答えて

1

この単純な例試してみてください。参考のために

import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.Statement; 

import com.vaadin.ui.Table; 
import com.vaadin.ui.Window; 

public class MyApplication extends Application 
{ 
    Table table; 
    Window main = new Window("Sample"); 
    Connection con; 
    PreparedStatement ps; 
    Statement cs; 
    ResultSet rs; 
    String dbUrl = "jdbc:mysql://localhost:3306/yourdatabasename"; 

    public void init() 
    { 
     setMainWindow(main); 
     table = new Table(); 
     table.setStyleName("iso3166"); 
     table.setPageLength(6); 
     table.setSizeFull(); 
     table.setSelectable(true); 
     table.setMultiSelect(false); 
     table.setImmediate(true); 
     table.setColumnReorderingAllowed(true); 
     table.setColumnCollapsingAllowed(true); 
     /* 
     * Define the names and data types of columns. The "default value" parameter is meaningless here. 
     */ 
     table.addContainerProperty("NAME", String.class, null); 
     table.addContainerProperty("CODE", Integer.class, null); 

     /* Add a few items in the table. */ 
     try 
     { 

      con = DriverManager.getConnection(dbUrl, "root", "root"); 
      cs = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); 
      rs = cs.executeQuery("select Name,Code from tablename"); 
      while (rs.next()) 
      { 
       table.addItem(new Object[] { rs.getString(1), rs.getInt(2) }, rs.getInt(2)); 
      } 
     } 
     catch (Exception e) 
     { 
      // getWindow(null).showNotification("Error"); 
     } 
     table.setWidth("300px"); 
     table.setHeight("150px"); 
     main.addComponent(table); 
    } 
} 

は、このリンクを表示: https://vaadin.com/forum#!/thread/272110

+0

ありがとう、私はこれを試します:) – user6250770

+0

Inshaアッラー..私はそれを行います。 :) – user6250770

0

あなたはこれら二つのリンクにvaadingでデータバインディングについての詳細を学ぶことがあります

Datamodel overviewSQL container

SQLデータへのアクセス権があれば、 n表またはグリッドを使用してデータを表示します。 JPAContainerやBeanItemContainersのように、アプリケーションロジックをどのように構造化するかによって、他にも利用可能なソリューションがあります。

+0

ありがとう、ええ、私はバディアンについてたくさん学ばなければならない – user6250770

関連する問題