2016-10-28 44 views
0

我正在使用Jersey在Java中構建一個簡單的Web服務,以便從數據庫中添加和刪除用戶。對其他Web服務api進行預處理

對此進行預處理的最佳方式在哪裏如果我想建立與數據庫的連接?

@Path("/user/service") 
public class UserService 
{ 
    private Connection connect = null; 
    final private String host = "localhost"; 
    final private String user = "qwerty"; 
    final private String passwd = "mysql"; 
    final private String database = "user_db"; 

    public void connectToDB() throws Exception 
    { 
     Class.forName("com.mysql.jdbc.Driver"); 
     connect = DriverManager.getConnection("jdbc:mysql://" + host + "/" 
         + database + "?" + "user=" + user + "&password=" + passwd); 
    } 

    @PUT 
    @Path("/create") 
    public void createUser(){ 
     System.out.println("Inside Create User method"); 
    } 

    @GET 
    @Path("/get/{id}") 
    public String getUser(@PathParam("id")String userid, @QueryParam("first")String first){ 
     System.out.println("GET: " + first); 
    } 
} 

我想在啓動時調用connectToDB()一次,而不是在每個請求中調用connectToDB()。

感謝

回答

0

您可以創建單獨的類並移動connectToDB邏輯成單獨的類,當調用這個單班將可從API的所有後續調用中使用一個數據庫連接。

你也可以在一個靜態塊中創建一個連接,但這不是一種乾淨的方式。

More on singleton