Vinod Kumar Marupu
Vinod Kumar Marupu

Reputation: 547

Java RESTful Webservice CRUD Opreation Using Netbeans IDE

I'm working on RESTful Webservice in Java Using Database. By using RESTful Webservice from Database option in Netbeans it generates some Classes by that we are able to expose service like count,{id},{from}/{id}.

How do we write program to Insert,Delete and Update in Netbeans using Java.

This is my working environment.enter image description here

Upvotes: 8

Views: 2765

Answers (4)

Goyal Vicky
Goyal Vicky

Reputation: 1299

You should define all your CRUD operations in a restful class. In each method of restful class you should call a service interface method which has another class which has the implementation i.e ServiceImpl. Each method of your service Impl should interact with Dao layer for CRUD operations. You should avoid loading the driver class again and again for each CRUD operation and you should define it in a separate method/static block like this:-

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();
}
 }

Upvotes: 2

Karbos 538
Karbos 538

Reputation: 3055

Maybe you should take a look on Spring-Data... You just have a Maven import, an interface with all the methods you need and it will use the name of your methods to make requests...

Here's an example : http://spring.io/guides/gs/accessing-data-rest/

Upvotes: 3

Dharmvir Tiwari
Dharmvir Tiwari

Reputation: 916

Separate your work into two layers DAO and service

  • Inside DAO: Keep all the database interactions
  • Inside Service: Keep only your webservice

Inject the dependency of your DAO implementation into your web service layer and invoke your CRUD operations(this is EJB concept ,you can also try Spring)

Upvotes: 2

Vinod Kumar Marupu
Vinod Kumar Marupu

Reputation: 547

Insertion Code like follows:

@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 as follows:

@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>"
}

Upvotes: 5

Related Questions