2012-03-22 115 views
2

我是否將數據源查找放入資源的構造函數中,還是每次我想要使用數據庫時都會發生?或者在不同的班級一起?這是兩個行我說的,不知道我應該在哪裏移動:通過Java /球衣REST資源訪問MySQL數據庫

initContext = new InitialContext(); 
dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/dbName"); 

我可以用其他什麼方法來單獨從GET方法DB工作?這裏是我的代碼,所以你中央社看到這一切,在一個方法,而這正是我想改變:

@GET 
@Produces(MediaType.TEXT_XML) 
      public List<Item> getItemsBrowser(){ 

       DataSource dataSource = null; 
       java.sql.Connection connection; 
       java.sql.Statement statement; 

       List<Item> items = new ArrayList<Item>(); 


       javax.naming.Context initContext; 
       try { 
        initContext = new InitialContext(); 
        dataSource = (DataSource)initContext.lookup("java:comp/env/jdbc/dbName"); 
       } catch (NamingException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 

       ResultSet resultSet = null; 

       try { 
        connection = dataSource.getConnection(); 
        statement = connection.createStatement(); 

        String query = "SELECT * FROM ITEMS"; 

        resultSet = statement.executeQuery(query); 

        // Fetch each row from the result set 
        while (resultSet.next()) { 
         String a = resultSet.getString("itemID"); 

         String b = resultSet.getString("itemDescription"); 

         //Assuming you have a user object 
         Item item = new Item(a, b); 

         items.add(item); 
        } 


       } catch (SQLException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 


       return items; 
      } 

任何建議是appreicated,謝謝。

+0

下載NetBeans並使用名爲:從數據庫創建RESTFul Web服務:http://netbeans.org/kb/docs/websvc/rest.html – perissf 2012-03-22 15:24:55

+0

是否有類似的日食?手工操作不簡單嗎? – flexer7661 2012-03-23 12:27:33

+0

當然,你可以通過手工使用日食,這是微不足道的。但我沒有時間爲你設置一個例子。您可以使用該NB的嚮導僅用於學習目的。 – perissf 2012-03-23 12:33:05

回答

0

也許你應該有一些ItemDAO(數據訪問對象),它將使用一些Connection Pool從數據源中取消所需的Item。然後這兩行將在DAO初始化中。