Reputation: 547
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.
Upvotes: 8
Views: 2765
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
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
Reputation: 916
Separate your work into two layers DAO and service
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
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