我正在使用Jersey在Java中构建一个简单的Web服务来添加和删除数据库中的用户。
对此进行预处理的最佳方法是,例如如果我想与DB建立连接?
@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()一次,而不是在每个请求中调用。
由于
答案 0 :(得分:0)
您可以创建单例类并将connectToDB逻辑移动到该单例类中,并且在调用时,单例类将建立数据库连接,该连接可以在API的所有后续调用中使用。
您还可以在静态块内创建连接,但这不是一种干净的方式。