2013-04-21 79 views
0

我是Vaadin的新手,一直在嘗試使用SqlContainer。我設法讓mysql數據庫連接工作。這裏是連接和容器代碼:這樣的容器上SqlContainer過濾器區分大小寫Vaadin

import java.io.Serializable; 
import java.sql.SQLException; 

import com.vaadin.data.util.sqlcontainer.SQLContainer; 
import com.vaadin.data.util.sqlcontainer.connection.JDBCConnectionPool; 
import com.vaadin.data.util.sqlcontainer.connection.SimpleJDBCConnectionPool; 
import com.vaadin.data.util.sqlcontainer.query.TableQuery; 
import com.vaadin.data.util.sqlcontainer.query.generator.filter.QueryBuilder; 
import com.vaadin.data.util.sqlcontainer.query.generator.filter.StringDecorator; 

public class DatabaseHelper implements Serializable { 
    private JDBCConnectionPool connectionPool = null; 
    private SQLContainer credentialContainer= null; 

    public DatabaseHelper() { 
     initConnectionPool(); 
    } 

    private void initConnectionPool() { 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      connectionPool = new SimpleJDBCConnectionPool(
        "com.mysql.jdbc.Driver", 
        "jdbc:mysql://localhost:3306/vaadin", "root", "mysqlpass", 
        2, 10); 
      initContainers(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 


    private void initContainers() { 
     try { 
      /* TableQuery and SQLContainer for personaddress -table */ 
      QueryBuilder.setStringDecorator(new StringDecorator("`","`")); 
      TableQuery q1 = new TableQuery("credentials", connectionPool); 
      q1.setVersionColumn("version"); 
      credentialContainer= new SQLContainer(q1); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

    public SQLContainer getcredentialContainer(){ 
     return credentialContainer; 
    } 

} 

然後,我已經使用的過濾器:

credentialcontainer.removeAllContainerFilters(); 
credentialcontainer.addContainerFilter("username", username.getValue(), false, true); 

然而,問題是,我注意到,過濾器,甚至忽略大小寫當我將它設置爲ignoreCase參數爲false時。

任何人都知道這是一個錯誤還是我做錯了什麼? 注意:我正在使用OS X並運行本地MYSQL服務器。

+0

現在已解決! 問題不在於Vaadin SqlContainer。我沒有意識到由於MYSQL的默認排序,比較是不區分大小寫的。 – Thinker 2013-04-21 02:58:58

回答

0

現已解決! Vaadin SqlContainer沒有問題。我沒有意識到由於MYSQL的默認排序,比較是不區分大小寫的。

相關問題