2015-06-17 6 views
6

का उपयोग कर मैं डेटाबेस में रीस्टफुल वेबसाइट सेवा पर काम कर रहा हूं। Netbeans में डेटाबेस विकल्प से रीस्टफुल वेबसाइट सेवा का उपयोग करके यह कुछ वर्ग उत्पन्न करता है कि हम गिनती, {आईडी}, {से}/{आईडी} जैसी सेवा का पर्दाफाश करने में सक्षम हैं।जावा रीस्टफुल वेबसाइट्स सीआरयूडी ओपेरेशन नेटबीन्स आईडीई

जावा का उपयोग करके नेटबीन्स में सम्मिलित करने, हटाने और अपडेट करने के लिए हम प्रोग्राम कैसे लिखते हैं।

यह मेरा कामकाजी माहौल है। enter image description here

+1

इस पर इतने सारे ट्यूटोरियल हैं अगर आप गूगल "बाकी CRUD netbeans "उदाहरण http://www.madebyjohann.com/index.php/college/learn-how/57-crud-in-a-restful-api-with-netbeans –

+1

@ring bearer मैंने नमूने डिज़ाइन की गई कई साइटों का दौरा किया रीस्टफुल वेबसाइट्स का उपयोग करके होलोर्ड प्रोग्राम या उन्होंने मूल कोड यानी आईडीई द्वारा उत्पन्न किया लेकिन सीआरयूडी ऑपरेशन नहीं दिखाया। –

+1

@ring bearer मैंने इस लिंक का अनुसरण किया http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/RESTfulWebServices/RESTfulWebservices.htm#t2 जो नमूना डेटाबेस कनेक्शन का वर्णन करता है और डाटाबेस विकल्प से रीस्टफुल वेबसाइट सेवा से स्वतः उत्पन्न कोड का वर्णन करता है नेटबीन्स –

उत्तर

5

प्रविष्टि कोड इस प्रकार की तरह:

@POST 
@Path("insertion") 
@Produces(MediaType.TEXT_HTML) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public String register(@FormParam("passhash") String passhash, @FormParam("email") String email,@FormParam("$pswdhash") String pwd, @FormParam("phno") String phno) { 
    try { 
     Class.forName("org.apache.derby.jdbc.ClientDriver"); 
     Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/test", "app", "app"); 
     PreparedStatement pst = con.prepareStatement("insert into MMX_REGISTRATION(name,email,pswd,phno) values(?,?,?,?)"); 
     pst.setString(1, passhash); 
     pst.setString(2, email); 
     pst.setString(3, pwd); 
     pst.setString(4, phno); 
     int result = pst.executeUpdate(); 
     System.out.println(result); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return "success"; 
    //return "listform.html"; 
} 

Retrieving Data इस प्रकार है:

@Context private HttpServletRequest request; 
@GET 
@Path("session") 
@Produces(MediaType.TEXT_HTML) 
@Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
public String session(@QueryParam("lname") String name1) { 
    String response2 = null; 
    //String name11 = "praveen"; 

    //String a[] = null; 

    try { 

     Class.forName("org.apache.derby.jdbc.ClientDriver"); 
     Connection con = DriverManager.getConnection("jdbc:derby://localhost:1527/test", "app", "app"); 
     //PreparedStatement pst = con.prepareStatement("insert into restdb_insertion(id,company) values(?,?)"); 
     //String str1="select * from restdb_insertion where registration=?"; 
     PreparedStatement pst = con.prepareStatement("select * from MMX_REGISTRATION where name='"+name1+"'"); 
     System.out.println("select * from MMX_REGISTRATION where name='"+name1+"'"); 

     ResultSet rs = pst.executeQuery(); 
     ResultSetMetaData rsmd = rs.getMetaData(); 
     int cols = rsmd.getColumnCount(); 


     while (rs.next()) { 
      if(!"null".equals(rs.getString(1))){ 
       request.getSession(true); 
       HttpSession session = request.getSession();  
       session.setAttribute("name","value"); 
       session.setAttribute("UserName", rs.getString(2)); 
       String username = (String)session.getAttribute("UserName"); 
       System.out.println(username); 
       // System.out.println(name); 
       //request.getSession(false); 
       //request.getSession().invalidate(); 
       //String user = (String)session.getAttribute("UserName"); 
       //System.out.println(user); 
       return "success"+" "+username; 
      } 
     } 

     //response = name1; 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return "fail"; 

    //"<rss version='2.0'><channel><id>" + id + "</id><cmp>" +response.toArray()[0] + "</cmp></channel></rss>" 
} 
+0

यह प्रश्न उपयोगी है –

+0

डीबी इंटरैक्शन को रखने की कोशिश करें एक अलग परत पर ..... यह बहुत कसकर –

+0

** सार सारणी ** में उन सभी विधियों के साथ है। आप खुद को जटिल बना रहे हैं, और यह अच्छा अभ्यास नहीं है। यदि आपके पास एक्स इकाइयों की संख्या है तो आप क्या करने जा रहे हैं? –

1

अलग अपने दो परतों डीएओ में काम करते हैं और सेवा

  • अंदर डीएओ: रखें सभी डेटाबेस इंटरैक्शन
  • अंदर सेवा: रखें केवल अपने वेब सेवा

अपने वेब सेवा परत में अपने डीएओ कार्यान्वयन की निर्भरता सम्मिलित करें और अपने CRUD संचालन (इस EJB अवधारणा है, आप भी कोशिश कर सकते हैं स्प्रिंग)

2

आह्वान शायद तुम एक ले जाना चाहिए वसंत-डाटा पर देखो ... तुम सिर्फ एक Maven आयात, सभी तरीकों की जरूरत के साथ एक अंतरफलक है और यह अनुरोध करने के लिए अपने तरीके से नाम का उपयोग करेगा ...

यहाँ एक उदाहरण है: http://spring.io/guides/gs/accessing-data-rest/

1

आपको अपने सभी सीआरयूडी परिचालनों को परिभाषित करना चाहिए एक आरामदायक वर्ग। आरामदायक वर्ग की प्रत्येक विधि में आपको एक सेवा इंटरफ़ेस विधि कॉल करनी चाहिए जिसमें एक और वर्ग है जिसमें कार्यान्वयन i.e ServiceImpl है। आपकी सेवा इंपल की प्रत्येक विधि को सीआरयूडी संचालन के लिए दाओ परत के साथ बातचीत करनी चाहिए। आप प्रत्येक CRUD आपरेशन के लिए फिर से और फिर ड्राइवर वर्ग लोड हो रहा से बचना चाहिए और आप इस तरह एक अलग विधि/स्थिर ब्लॉक में यह परिभाषित करना चाहिए: -

static Connection con; 
static{ 
try { 
    Class.forName("org.apache.derby.jdbc.ClientDriver"); 
    con = DriverManager.getConnection("jdbc:derby://localhost:1527/test", "app", "app"); 
} catch (ClassNotFoundException | SQLException e) { 
    e.printStackTrace(); 
} 
} 
संबंधित मुद्दे