2012-03-22 3 views
2

Я помещаю поиск источника данных в конструктор ресурса или должен ли он возникать каждый раз, когда я хочу использовать базу данных? Или в другом классе все вместе? Эти две линии я говорю о и не знаю, где я должен переместить их:Доступ к базе данных mySQL через Java/jersey Ресурс REST

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

Какие другие методы, которые я могу использовать, чтобы отделить DB работы от метода GET? Вот мой код, так что вы CNA увидеть все это в одном методе, который является то, что я хочу изменить:

@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 из базы данных: http://netbeans.org/kb/docs/websvc/rest.html – perissf

+0

Есть ли что-то подобное для eclipse? Это непросто сделать вручную? – flexer7661

+0

Конечно, вы можете сделать это вручную и использовать затмение, это тривиально. Но у меня нет времени для установки примера для вас. Вы можете использовать мастер этого NB только для учебных целей. – perissf

ответ

0

Возможно, у вас должен быть ItemDAO (объект доступа к данным), который восстановит требуемый Item от источника данных, используя некоторые Connection Pool. И тогда эти две строки будут в инициализации DAO.

Смежные вопросы