logo资料库

JSP+SERVLET+JDBC实现对数据库的增删改查.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
使用 JSP+SERVLET+JDBC 实现对数据库的增删改查 首先,打开 sql*plus,输入用户名(我用的 scott)密码(我设置的是 tiger)。 先建个表 student, Create table student ( id number(30) not null primary key, name varchar(50) , age number(30), gender varchar(30), major varchar(50) ); 1,打开 myeclipse(我用的是 myeclipse8.5)新建一个 web project 2,在 project name 中输入合法名字,比如 normal 3,新建的 normal 工程
4,在 src 目录下建一个包,右击 src 选择 new 在选择 package 5,输入合法名字 比如 bean 6,在 bean 目录下建一个 class,右击 bean 选择 new 再选择 class
7,输入名字 Page 完整的 Page.java 代码如下 package bean; public class Page { private int totalPage; private int currentPage; private int totalRecord; private int currentRecord; private int pageSize=8; //获得和设置当前页 public int getCurrentPage(){ return currentPage; } public void setCurrentPage(int currentRecord,int pageSize){ if(currentRecord%pageSize==0){ currentPage=currentRecord/pageSize; } else{ currentPage=currentRecord/pageSize+1; } } //获得和设置当前记录 public int getCurrentRecord(){ return currentRecord; } public void setCurrentRecord(int currentRecord){ this.currentRecord=currentRecord; }
//获得和设置每页记录数量 public int getPageSize(){ return pageSize; } public void setPageSize(int pageSize){ this.pageSize=pageSize; } //获得和设置总页数 public int getTotalPage(){ return totalPage; } public void setTotalPage(int totalRecord,int pageSize){ if(totalRecord%pageSize==0){ totalPage=totalRecord/pageSize; } else{ totalPage=totalRecord/pageSize+1; } } //获得和设置总记录 public int getTotalRecord(){ return totalRecord; } public void setTotalRecord(int totalRecord){ this.totalRecord=totalRecord; } } 8,用相同的方法建一个 StudentInfo 类 完整的 StudentInfo.java 代码如下 package bean; public class StudentInfo { private int id; private String name; private int age; private String gender; private String major; public StudentInfo(){ //学号 //姓名 //年龄 //性别 //专业 } public StudentInfo(int id,String name,int age,String gender,String major){
this.id=id; this.name=name; this.age=age; this.gender=gender; this.major=major; } public int getId(){ return id; } public void setId(int id){ this.id=id; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public int getAge(){ return age; } public void setAge(int age){ this.age=age; } public String getGender(){ return gender; } public void setGender(String gender){ this.gender=gender; } public String getMajor(){ return major; } public void setMajor(String major){ this.major=major; } } 9,在 src 目录下添加另一个包 dbservlet 在该包中建立一个 AllServlet 类 完整的 AllServlet.java 代码如下 package dbservlet;
import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import bean.Page; import bean.StudentInfo; public class AllServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; //doPost 方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); String methodName=request.getParameter("methodName"); int method=Integer.parseInt(methodName); try { switch(method) { case 0: insert(request,response); case 1: difpage(request,response); break; case 2: delete(request,response); break; case 3: update(request,response); break;
case 4: update1(request,response); break; case 5: dispatch(request,response); break; } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //doGet 方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } //数据库连接方法 public Connection connect() throws ClassNotFoundException, SQLException{ Connection conn=null; Class.forName("oracle.jdbc.driver.OracleDriver"); String url="jdbc:oracle:thin:@localhost:1521:orcl"; String user="scott"; String password="tiger"; conn=DriverManager.getConnection(url,user,password); return conn; } //关闭数据库资源 public void close(Statement stat,Connection conn) throws SQLException{ if(stat!=null){ stat.close(); } if(conn!=null){ conn.close(); } } //插入方法 public void insert(HttpServletRequest ClassNotFoundException, SQLException{ request, HttpServletResponse response) throws
Connection conn=null; Statement stat=null; String id=request.getParameter("id"); String name=request.getParameter("name"); String age=request.getParameter("age"); String gender=request.getParameter("gender"); String major=request.getParameter("major"); conn=connect(); stat=conn.createStatement(); stat.execute("insert into student(id,name,age,gender,major) values("+id+",'"+name+"',"+age+",'"+gender+"','"+major+"')"); close(stat,conn); } //查询方法 public ArrayList select(String id,String name) throws ClassNotFoundException, SQLException{ Connection conn=null; Statement stat=null; ResultSet rs=null; conn=connect(); stat=conn.createStatement(); ArrayList result=new ArrayList(); if(id==""&&name==""){ rs=stat.executeQuery("select * from student"); } if(id!=""&&name==""){ rs=stat.executeQuery("select * from student where id="+id+""); } if(id==""&&name!=""){ rs=stat.executeQuery("select * from student where name='"+name+"'"); } if(id!=""&&name!=""){ rs=stat.executeQuery("select * from student where id="+id+" and name='"+name+"'"); } while(rs.next()) { StudentInfo st=new StudentInfo(); st.setId(rs.getInt("id")); st.setName(rs.getString("name")); st.setAge(rs.getInt("age")); st.setGender(rs.getString("gender")); st.setMajor(rs.getString("major")); result.add(st);
分享到:
收藏