1. 程式人生 > >hibernate簡單程式,實現從頁面對資料庫的增刪改查(主從表關聯)

hibernate簡單程式,實現從頁面對資料庫的增刪改查(主從表關聯)

      前段時期一直使用三層來寫從頁面對資料庫的增刪改查,今天用hibernate框架來實現從頁面對資料庫的增刪改查,

首先介紹下今天我們要實現的功能,

1、使用者能夠註冊,2、註冊成功後直接跳到登入頁面,3、登入成功後直接跳到對公司、人員的增刪改查,

4、要有對人員介面的分頁功能

一、首先看下檔案的目錄


unity裡面寫的是配置檔案的session介面工具,dao層就是各種增刪改查的方法

1、首先得配置檔案:hibernate.cfg.xml

<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory >
	<!-- 配置資料庫連線資訊 -->
	<property name="connection.driver_class">
	com.mysql.jdbc.Driver
	</property>
	
	<property name="connection.url">
	jdbc:mysql://localhost:3306/company
	</property>
	
	<property name="connection.username">
	root
	</property>
	
	<property name="connection.password">
	DCX5201314
	</property>
	
	<!-- 資料庫方言-->
	<property name="dialect">
	 org.hibernate.dialect.MySQL5Dialect
	</property>
	
	<!-- 非必要的 -->
	<property name="hbm2ddl.auto">update</property><!-- 可以反向生成表 -->
	
	<!-- 對映配置檔案 -->
	<mapping  resource="entity/user.hbm.xml"/>
	<mapping  resource="entity/bm.hbm.xml"/>
	<mapping  resource="entity/ry.hbm.xml"/>
		
	</session-factory>
</hibernate-configuration>
2、配置untitl.java
package unity;
public class unitl {

	public Session lj(){
		
		//新建Configuration物件
		Configuration cfg=new Configuration().configure();

		//通過Configuration建立SessionFactory物件
		ServiceRegistry registry = new StandardServiceRegistryBuilder()
			.applySettings(cfg.getProperties())
			.build();
        SessionFactory sf = cfg.buildSessionFactory(registry);
        //建立session
        Session session=sf.openSession();
		return session;
		
	}
}

3、首先我們先寫使用者的註冊、登入

配置檔案:user.hbm.xml

<hibernate-mapping >
    <class name="entity.user" table="user" >   
        <id name="id" >
             <!-- 設定主鍵 -->
            <generator class="native"></generator>
        </id>     
        <property name="name" />
        <property name="pwd" />       
    </class>
</hibernate-mapping>
user.java檔案(定義資料庫裡面的屬性)
package entity;

public class user {

	private int id;
	private String name;
	private String pwd;

	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 String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
}
Userzhuceservlet.java檔案(servlet層)
public class Userzhuceservlet extends HttpServlet {

	dao.selectone se=new dao.selectone();
	public Userzhuceservlet() {
		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 {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		this.doPost(request, response);
		out.flush();
		out.close();
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		//用type接受頁面的值
		String type=request.getParameter("type");
		if ("1".equals(type)) {
			System.out.println("haha");
			//呼叫條件查詢的方法
			zhuce(request, response);
		}
		else if ("2".equals(type)) {
			login(request, response);
		}
		out.flush();
		out.close();
	}
	
	/*************註冊********************************************/
	public void zhuce(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
		int a=se.selllt(name,pwd);
		if (a>0) {
			response.sendRedirect("login.jsp");
		}
	}
	/*************登入********************************************/
	public void login(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String name=request.getParameter("name");
		String pwd=request.getParameter("pwd");
		int a=se.login(name,pwd);
		if (a>0) {
			System.out.println("登入成功");
			response.sendRedirect("index.jsp");
		}else {
			System.out.println("登入失敗");
		}
	}
	public void init() throws ServletException {
		// Put your code here
	}

}
selectone.java檔案(名字起的有點問題,是使用者的Dao層檔案)
public class selectone {

	//呼叫工具包
	static unitl unitl=new unitl();
	static Session session=unitl.lj();
	
	
	/****************註冊************************************/
	public int selllt(String name,String pwd){
		int a=0;
		//3、開啟事務
        Transaction ts=session.beginTransaction();
        //執行資料庫操作
        //新增操作
        user u=new user();
        u.setName(name);
        u.setPwd(pwd);
        session.save(u);
        System.out.println("註冊成功");
        //提交
		ts.commit();
		//關閉session
		//session.close();
		a=1;
		return a;
	}
	
	/****************登入************************************/
	public int login(String name,String pwd){

        //執行資料庫操作
		//編寫hql
		String hql="select name from user where name=? and pwd=?";
		List<String> list=session.createQuery(hql)
		.setString(0, name)
		.setString(1, pwd)
		.list();
		int a=list.size();
		System.out.println(list.size());
//		for(String na:list){
//			System.out.println(na+"=====");
//		}
		//關閉session
		//session.close();
		
		return a;
	}
}
zhuce.jsp部分程式碼
<body>
    <h1>歡迎來到人力資源管理系統</h1>
    <form action="Userzhuceservlet" method="post">
    <input type="hidden" value="1" name="type">
           <tr> <td>要註冊的使用者名稱 :</td><td><input type="text" name="name"/></td></tr>
           <tr> <td> 密碼:</td><td><input type="password" name="pwd"/></td></tr>
           <tr><td><input type="submit" value="確認"></td></tr>
    </form>
  </body>
login.jsp程式碼:
<body>
    <h1>歡迎來到人力資源登入系統</h1>
    <form action="Userzhuceservlet" method="post">
    <input type="hidden" value="2" name="type">
           <tr><td> 使用者名稱 :</td><td><input type="text" name="name"/></td><br/></tr>
            <tr> <td>密碼:</td><td><input type="password" name="pwd"/></td><br/></tr>
            
              <tr><td><input type="submit" value="確認"></td></tr>
    </form>
  </body>
至於head、left、right、等頁面參考我之前的文章http://blog.csdn.net/qq_34178998/article/details/76578233這裡就不在重複寫了

4、再寫部門的增刪改查

配置bm.hbm.xml檔案:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping >

    <class name="entity.bm" table="bm"  >
       
        <id name="id" >
             <!-- 設定主鍵 -->
            <generator class="native"></generator>
        </id>
        <property name="bmname" />

        
    </class>

</hibernate-mapping>
bm.java檔案
public class bm {

	private int id;
	private String bmname;

	public bm(int id,String bmname){
		this.id=id;
		this.bmname=bmname;
	}
	
    public bm(int id){
		this.id=id;
	}
	
	public bm(){
		
	}
	
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getBmname() {
		return bmname;
	}
	public void setBmname(String bmname) {
		this.bmname = bmname;
	}
}
BmServlet.java檔案程式碼:
package servlet;
public class BmServlet extends HttpServlet {

	BmDao bd=new BmDao();
	public BmServlet() {
		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 {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		this.doPost(request, response);
		out.flush();
		out.close();
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		//用type接受頁面的值
		String type=request.getParameter("type");
		if ("1".equals(type)) {        //新增部門的方法
			addbm(request, response);
		}
		
		else if ("2".equals(type)) {    //查詢所有部門的方法
			selectall(request, response);
		}
		
		else if ("3".equals(type)) {    //根據ID刪除部門
			selectry(request, response);
		}
		
		else if ("4".equals(type)) {    //根據修改部門
			update(request, response);
		}
		
		else if ("5".equals(type)) {    //根據ID查詢一個部門
			selectone(request, response);
		}
		out.flush();
		out.close();
	}

	
	/***********************新增部門*********************************************************/
	public void addbm(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String bmname=request.getParameter("bmname");
		int a=bd.addbm(bmname);
		if (a>0) {
			selectall(request, response);
			System.out.println("新增部門成功");
		}else {
			System.out.println("新增部門失敗");
			response.sendRedirect("addbm.jsp");
		}
	}
	
	/***********************查詢所有部門*********************************************************/
	public void selectall(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		List<bm> list=new ArrayList<bm>();
		list=bd.selectall();
		request.setAttribute("list", list);
		RequestDispatcher rd=request.getRequestDispatcher("showbm.jsp");
		rd.forward(request, response);
	}
	
	/***********************根據ID刪除部門*********************************************************/
	public void delete(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		bd.delete(id);
		selectall(request, response);
	}
	
	/***********************修改部門*********************************************************/
	public void update(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		String newbmname=request.getParameter("newbmname");
		bd.update(id, newbmname);
		selectall(request, response);
	}
	
	
	/***********************根據點中的ID查詢一個部門*********************************************************/
	public void selectone(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		List<bm> list=bd.selectone(id);
		for(bm bb:list){
			//System.out.println(bb.getBmname()+bb.getId());
			request.setAttribute("list", bb);
		}
		//System.out.println("aa");
		RequestDispatcher rd=request.getRequestDispatcher("updatebm.jsp");
		rd.forward(request, response);
	}
	
	/***********************根據ID刪除部門*********************************************************/
	public void selectry(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		System.out.println(id);
		int a=bd.selectonee(id);
		if(a>0){
		delete(request, response);
		}
	}
	
	public void init() throws ServletException {
		// Put your code here
	}

}
BmDao.java檔案:
public class BmDao {
	//呼叫工具包
	static unitl unitl=new unitl();
	static Session session=unitl.lj();
	int a=0;
	
	/***********新增部門****************************************************/
	public int addbm(String bmname){
		int a=0;
		//3、開啟事務
        Transaction ts=session.beginTransaction();
        //執行資料庫操作
        //新增操作
        bm b=new bm();
        b.setBmname(bmname);
        session.save(b);
        //提交
		ts.commit();
		//關閉session
		//session.close();
		a=1;
		return a;
	}
	
	/***********檢視所有部門****************************************************/
	@SuppressWarnings("unchecked")
	public List<bm> selectall(){
		//執行資料庫操作
		//編寫hql
		String hql="from bm ";
		List<bm> list=session.createQuery(hql).list();
		return list;
	}
	
	/***********根據ID刪除部門****************************************************/
	public int delete(int id){
		int a=0;
		//3、開啟事務
        Transaction ts=session.beginTransaction();
        //執行資料庫操作
        //刪除操作
        bm b=(bm)session.get(bm.class, id);//注意強轉
        session.delete(b);
        
        
        //提交
		ts.commit();
		//關閉session
		//session.close();
		a=1;
		return a;
	}
	
	/***********修改部門****************************************************/
	public void update(int id, String name){
		//執行資料庫操作
		//編寫hql
		Transaction ts=session.beginTransaction();
		bm b=(bm)session.load(bm.class, id);
		System.out.println(name);
		b.setBmname(name);
		session.update(b);
		//提交
		ts.commit();
	}
	
	/***********根據ID查詢一個部門****************************************************/
	public List<bm>  selectone(int id){
		//執行資料庫操作
		//編寫hql
		String hql="select new bm(id,bmname) from bm where id=?";
		List<bm> list=session.createQuery(hql)
		.setInteger(0, id)
		.list();
		
//		for(bm bb:list){
//			System.out.println(bb.getBmname()+bb.getId());
//			
//		}
		return list;
	}
	
	/***********查詢部門有沒有人****************************************************/
	@SuppressWarnings("unchecked")
	public int  selectonee(int id){
		int a=1;
		String sql="select *from ry where bmid="+id+"";
		List<ry> list=session.createSQLQuery(sql).list();
		if(list.size()>0){
			a=0;
		}
		
		return a;
	}
}
addbm.jsp檔案:
<body style="background-image:url(bg3.jpg)">
    <h1>這是新增部門介面</h1>
    <form action="BmServlet" method="post">
    <input type="hidden" value="1" name="type">
            部門:<input type="text" name="bmname"/><br/>
    <input type="submit" value="提交">
    </form>
  </body>
showbm.jsp檔案:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

<body style="background-image:url(bg3.jpg)">
    <h1>這是顯示頁面</h1>
    <h1>顯示部門種類</h1>
    <table border="1">
    <tr><td>編號</td><td>部門種類</td><td>操作</td></tr>
    <c:forEach items="${list}" var="bm"> 
    <tr>
    <td>${bm.id}</td><td>${bm.bmname}</td>
    <td><a href="BmServlet?type=5&&id=${bm.id}">修改</a><!-- 修改前先查一個 -->
    
     <a href="BmServlet?type=3&&id=${bm.id}">刪除</a></td>
    
    </tr>
    </c:forEach>
    </table>
    </body>
updatebm.jsp檔案
<body style="background-image:url(bg3.jpg)">
    <h1>修改型別頁面</h1>
      <form action="BmServlet" method="post">
    <input type="hidden" value="4" name="type">
    <input type="hidden" value="${list.id }" name="id">
             部門:<input type="text" name="newbmname" value="${list.bmname }"><br/>
       <input type="submit" value="提交">
  </body>
5、接下來是各部門的人員

ry.hbm.xml配置檔案:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">


<hibernate-mapping >

    <class name="entity.ry" table="ry"    >
       
        <id name="id" >
             <!-- 設定主鍵 -->
            <generator class="native"></generator>
        </id>
        
        <property name="name"></property>
        <property name="phone"></property>
        <property name="address"></property>
         <property name="bmid"></property>      
    </class>

</hibernate-mapping>
ry.java實體檔案:
package entity;

public class ry {

	private int id;
	private String name;
	private String phone;
	private String address;
	private int bmid;
	private String bmname;
	

	public ry(){}
	
	public ry(int id,String name,String phone,String address,int bmid){
		this.id=id;
		this.name=name;
		this.phone=phone;
		this.address=address;
		this.bmid=bmid;
	}
	
	public ry(int id,String name,String phone,String address){
		this.id=id;
		this.name=name;
		this.phone=phone;
		this.address=address;
	}
	
	
	
	
	

	public int getBmid() {
		return bmid;
	}

	public void setBmid(int bmid) {
		this.bmid = bmid;
	}

	public String getBmname() {
		return bmname;
	}

	public void setBmname(String bmname) {
		this.bmname = bmname;
	}

	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 String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
}
RyServlet.java檔案
package servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import dao.BmDao;
import dao.RyDao;

import entity.bm;
import entity.ry;

public class RyServlet extends HttpServlet {

	BmDao bd=new BmDao();
	RyDao ry=new RyDao();
	

	
	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 {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		this.doPost(request, response);
		out.flush();
		out.close();
	}

	
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		request.setCharacterEncoding("utf-8");
		response.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		//接受頁面的type值
		String type=request.getParameter("type");
		if ("1".equals(type)) {    //跳到新增人員的介面前要先把部門種類查詢出來
			selectbm(request, response);
		}
		
		
		else if ("2".equals(type)) { //新增人員資訊
			addry(request, response);
		}
		
		else if ("3".equals(type)) { //查詢所有人員資訊
//			selectallry(request, response);
			select(request, response);
		}
		
		else if ("4".equals(type)) { //刪除操作
			selectry(request, response);
		}
		
        else if ("5".equals(type)) { //1、修改操作,修改前先根據ID查詢
			selectone(request, response);
		}
		
        else if ("6".equals(type)) { //2、修改操作,
			update(request, response);
		}
		
		out.flush();
		out.close();
	}

	
	/************先所有查詢部門**************************************************/
	public void selectbm(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		List<bm> list=new ArrayList<bm>();
		list=bd.selectall();
		request.setAttribute("list", list);
		RequestDispatcher rd=request.getRequestDispatcher("addren.jsp");
		rd.forward(request, response);
	}
	
	

	/************新增人員**************************************************/
	public void addry(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		String name=request.getParameter("name");
		String phone=request.getParameter("phone");
		String address=request.getParameter("address");
		int bmid=Integer.parseInt(request.getParameter("bmid"));
		int a=ry.addry(name, phone, address, bmid);
		if (a>0) {
			System.out.println("新增人員成功");
			//查詢所有人員
			selectallry(request, response);
		}
	}
	
	/************檢視所有人員**************************************************/
	public void selectallry(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		List<Map<String, Object>> list=ry.selectall();
		request.setAttribute("list", list);
		RequestDispatcher rd=request.getRequestDispatcher("showry.jsp");
		rd.forward(request, response);
	}
	/************檢視所有人員********************************************************************************/
	public void select(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException{
		int size=0;	
		int pagecount=0;
		int curPage=1;
		List<Map<String, Object>>list1=ry.selectall();
		size=list1.size();
		pagecount=(size%3==0)?(size/3):(size/3+1);
		String curpage=request.getParameter("curPage");
		String tz=request.getParameter("tz");
		if ("1".equals(tz)) {
			String pagedip=request.getParameter("pagedip");
			curPage=Integer.parseInt(pagedip);
		}
		else if (curpage!=null&&!curpage.isEmpty()) {
			curPage=Integer.parseInt(curpage);
		}
		request.setAttribute("pagecount", pagecount);
		request.setAttribute("curPage",curPage);
		if (curPage>=pagecount) {
			curPage=pagecount;
		}	
		List<Map<String, Object>> list=ry.selectpage(curPage);
		request.setAttribute("list",list);
		RequestDispatcher rd=request.getRequestDispatcher("showry.jsp");
		rd.forward(request, response);
		
	}

	
	
	/***********************修改前根據點中的ID查詢一個*********************************************************/
	public void selectone(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		List<ry> list=ry.selectone(id);
		for(ry rr:list){
			System.out.println(rr.getName()+rr.getId());
			request.setAttribute("list", rr);
		}
		RequestDispatcher rd=request.getRequestDispatcher("updatery.jsp");
		rd.forward(request, response);
	}
	
	/***********************修改*********************************************************/
	public void update(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("idss"));
		String nname=request.getParameter("name");
		String nphone=request.getParameter("phone");
		String naddress=request.getParameter("address");
		ry.update(id, nname, nphone, naddress);
		selectallry(request, response);
	}
	
	
	/***********************根據ID刪除*********************************************************/
	public void selectry(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
		int id=Integer.parseInt(request.getParameter("id"));
		System.out.println(id);
		ry.delete(id);
		selectallry(request, response);
	}
	
	public void init() throws ServletException {
		// Put your code here
	}
}
RyDao.java檔案:
package dao;

public class RyDao {

	//呼叫工具包
	static unitl unitl=new unitl();
	static Session session=unitl.lj();
	
	/*******************新增人員資訊*******************************************/
	public int addry(String name,String phone,String address,int bmid){
		int a=0;
		//3、開啟事務
        Transaction ts=session.beginTransaction();
        //執行資料庫操作
        
        ry r=new ry();
        r.setName(name);
        r.setPhone(phone);
        r.setAddress(address);
        r.setBmid(bmid);
        session.save(r);
        
        System.out.println("新增人員成功");
        //提交
		ts.commit();
		//關閉session
		//session.close();
		a=1;
		return a;
	}
	
	/*******************查詢所有人員資訊*******************************************/
	@SuppressWarnings("unchecked")
	public List<Map<String, Object>> selectall(){
		//執行資料庫操作
		//編寫hql
		String sql="select r.id,r.name,r.phone,r.address,b.bmname from bm b, ry r where b.id=r.bmid";
		Query query=session.createSQLQuery(sql);
		List<Map<String, Object>> list=query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
		
		return list;
	}
	/*******************查詢所有人員資訊*******************************************/
	public List<Map<String,Object>> selectpage(int page) {
		// TODO Auto-generated method stub
		Query query = session.createSQLQuery("select r.id,r.name,r.phone,r.address,b.bmname from bm b, ry r where b.id=r.bmid");  
		query.setFirstResult((page-1)*3);
		query.setMaxResults(3);
		List<Map<String,Object>> result=query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP).list();
		return result;

	}

	
	/***********根據ID查詢一個****************************************************/
	@SuppressWarnings("unchecked")
	public List<ry>  selectone(int id){
		//執行資料庫操作
		//編寫hql
		String hql="select new ry(id,name,phone,address) from ry where id=?";
		List<ry> list=session.createQuery(hql)
		.setInteger(0, id)
		.list();
		return list;
	}
	/*******************修改人員資訊*******************************************/
	public void update(int id, String name,String phone,String address){
		//執行資料庫操作
		//編寫hql
		//3、開啟事務
        Transaction ts=session.beginTransaction();
		//修改    
		ry r=(ry) session.load(ry.class, id);
		r.setName(name);
		r.setPhone(phone);
		r.setAddress(address);
		session.update(r);
		 //提交
		ts.commit();
	}
	/***********根據ID刪除部門****************************************************/
	public int delete(int id){
		int a=0;
		//3、開啟事務
        Transaction ts=session.beginTransaction();
        //執行資料庫操作
        //刪除操作
        ry r=(ry)session.get(ry.class, id);//注意強轉
        session.delete(r);
        
        
        //提交
		ts.commit();
		//關閉session
		//session.close();
		a=1;
		return a;
	}
}
addren.jsp檔案:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<body style="background-image:url(bg3.jpg)">
   <h1>新增人員介面</h1>
    <form action="RyServlet" method="post">
    <input type="hidden" value="2" name="type">
     名字:<input type="text" name="name"/><br/>
      電話:<input type="text" name="phone"/><br/>
       住址:<input type="text" name="address"/><br/>
       部門:<select name="bmid">
       <c:forEach items="${list}" var="bm">
       <option value="${bm.id}"> ${bm.bmname }</option>
       </c:forEach>  
       </select>
    <input type="submit" value="提交">
    </form>
  </body>
showry.jsp檔案:
<body style="background-image:url(bg3.jpg)">
    <h1>這是顯示頁面</h1>
    <h1>顯示人員</h1>
    <table border="1">
    <tr><td>編號</td><td>姓名</td><td>電話</td><td>地址</td><td>部門</td><td>操作</td></tr>
    <c:forEach items="${list}" var="ry"> 
    <tr>
    <td>${ry.id}</td><td>${ry.name}</td><td>${ry.phone}</td><td>${ry.address}</td>
    <td>${ry.bmname}</td>
    
    
    <td><a href="RyServlet?type=5&&id=${ry.id}">修改</a>
  &nbsp;&nbsp;
     <a href="RyServlet?type=4&&id=${ry.id}">刪除</a></td>
     </tr>
     </c:forEach>
     </table>
      <a href="RyServlet?type=3&&curPage=1">首頁</a>
    <a href="RyServlet?type=3&&curPage=${curPage-1}">上一頁</a> 
    <a href="RyServlet?type=3&&curPage=${curPage+1}">下一頁</a>
    <a href="RyServlet?type=3&&curPage=${pagecount}">尾頁</a> 總頁數:${pagecount} 當前頁數:${curPage}<br/>
    <form action="RyServlet?type=3" method="post">
    
跳轉到<input type="text"  name="pagedip" value="${curPage}" />頁 
<input type="hidden" name="tz" value="1"/>  
<input type="submit" value="跳轉"  />
     
  </body>
updatery.jsp檔案:
<body>
  <h1>修改內容頁面</h1>
      <form action="RyServlet" method="post">
    <input type="hidden" value="6" name="type">
    <input type="hidden" name="idss" value="${list.id}"/>
    
   名字:<input type="text" name="name" value="${list.name}"/><br/>
      電話:<input type="text" name="phone" value="${list.phone}"/><br/>
       地址:<input type="text" name="address"  value="${list.address}"/><br/>
       <input type="submit" value="提交">
       </form>
       </body>
以上就是我的全部程式碼,部門jsp檔案的c標籤的包沒匯入,要注意一下,具體其他的頁面可以參考我之前寫的部落格大笑