运用DBHelper访问数据库(计应143 罗开波)
1.先在MyEclipse 10中创建一个项目,然后在项目中的src中创建entiy包、 DBHelper包、mydao包、servlet包,分别将
DBHelper.java和mysql-connector-java-5.1.26-bin.jar导入 DBHelper包中和WebRoot中的WEB-INF的lib目录下。
2.先在entiy包中写一个实体类并封装,然后在dao包中写一个java类对数据库进行处理,最后对
DBHelper.java进行修改和在数据库中创建一个表。(注意:dao包中的java类中的表名“users”要与
mysql中的表名一致 ,实体类中的字段名如:“username”“password”也要一样)
在mydao中的java类代码为:
package mydao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import entity.User;
import DBHelper.DBHelper;
public class MyUserDao {
public ArrayList<User> getALLUser()
{
String SQL="SELECT*FROM users";
ResultSet rs=DBHelper.getResultSet(SQL);
ArrayList<User> users=new ArrayList<User>();
try
{
while(rs.next())
{
User u=new User();
u.setUserID(rs.getString("userID"));
u.setUserName(rs.getString("userName"));
u.setPassWord(rs.getString("passWord"));
users.add(u);
}
return users;
}
catch(SQLException e)
{
e.printStackTrace();
return null;
}
}
}
}
3servlet代码:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.User;
import myddemo.UserDAO;
public class UserServlet extends HttpServlet {
public UserServlet(){
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
UserDAO dao=new UserDAO();
List user=dao.getAllUser();
request.getSession().setAttribute("user", user);
response.sendRedirect("../UserJsp.jsp");
}
4.jsp代码
<body>
<%
List<User> user=(List<User>)session.getAttribute("user");
out.print("<table border=1>");
out.print("<tr><td>用户ID</td><td>用户名</td><td>用户密码</td></tr>");
for(User u:user)
{
out.print("<tr>");
out.print("<td>"+u.getUserID()+"</td>");
out.print("<td>"+u.getUserName()+"</td>");
out.print("<td>"+u.getPassWord()+"</td>");
out.print("<tr>");
}
out.print("</table>");
%>
</body>
4.最后经过部属就可以在网页上运行。
结果:
学习经验:通过运用DBHelper可以有效的减少程序代码,方便技术人员,使代码更加的简洁易懂。