【发布时间】:2011-12-07 04:59:01
【问题描述】:
我正在使用 JAX-RS 和 Tomcat 构建一个 REST WebService 来使用 MySQL 数据库。
我正在关注这个模型:
@Path("/login")
public class Login {
String username;
String password;
// This method is called if POST is requested
@POST
@Produces(MediaType.APPLICATION_XML)
public String loginResponseXML(@FormParam("username") String user, @FormParam("password") String pass) {
//Connection to MySQL Database
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/sakila", "root","larcom");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Select first_name, last_name From actor where first_name='" +
user + "' and last_name='" + pass + "'");
while (rs.next()){
System.out.println(rs.getString("first_name") + " " + rs.getString("last_name"));
username = rs.getString("first_name");
password = rs.getString("last_name");
}
}
catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
if (user.equals(username) && pass.equals(password)) {
return ("<?xml version=\"1.0\"?>" + "<auth>200" + "</auth>"); //Success
//return "Success!";
} else {
return ("<?xml version=\"1.0\"?>" + "<auth>404" + "</auth>"); //Damn
//return "Damn!";
}
}
}
我调用这个方法:
HttpPost httppost = new HttpPost("http://192.168.15.245:8080/org.jersey.andre/rest/login");
现在,我的问题是: 如果我想在数据库中查询另一个表,我必须创建一个像 Login 这样的新类并再次建立 JDBC 连接? 对数据库进行查询的每个类都有一个新类和一个新的 JDBC 连接?性能问题?
希望你能理解。 提前致谢。
【问题讨论】:
-
所以你想要一个类,一个连接到一个数据库的所有表,所有的 Restful 资源?性能问题? ;)
标签: mysql web-services rest