Hibernate-14-查询联系人

Hibernate-查询联系人

Servlet

package com.feizhu.servlet;


import java.io.IOException;
import java.util.List;


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


import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;


import com.feizhu.domain.Linkman;
import com.feizhu.service.AddLinkManService;


/**
 * 查询所有联系人
 */
public class AllLinkManServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
       
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


//设置编码
request.setCharacterEncoding("utf-8");
//接受参数
String lkmName =request.getParameter("lkmName");
System.out.println(lkmName);
//创建离线条件查询的对象  脱离session对象
DetachedCriteria criteria = DetachedCriteria.forClass(Linkman.class);
//添加查询的条件
if(lkmName!=null && !lkmName.trim().isEmpty() ) {
criteria.add(Restrictions.like("lkm_name", "%"+lkmName+"%"));
}
//调用service层查询
List<Linkman> list = new AddLinkManService().findLinkMan(criteria);
//讲结果放入request域中
request.setAttribute("list", list);
//转发
request.getRequestDispatcher("/jsp/linkman/list.jsp").forward(request, response);

}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}


}

Service

package com.feizhu.service;


import java.util.List;
import java.util.Map;


import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.DetachedCriteria;


import com.feizhu.dao.AddLinkManDao;
import com.feizhu.domain.Customer;
import com.feizhu.domain.Linkman;
import com.feizhu.utils.HibernateUtil;


public class AddLinkManService {


/**
* 编写业务,保存联系人 先把客户查出来,给联系人设置客户,保存联系人

* @param man
* @param cust_id
*/
public void addLinkMan(Linkman man, Long cust_id) {
// 获取session
Session session = HibernateUtil.getCurrentSession();
// 开启事物
Transaction tr = session.beginTransaction();


try {
// 调用dao层 根据id查询客户
Customer customer = new AddLinkManDao().findById(cust_id);
// 设置
man.setCustomer(customer);
// 保存联系人
new AddLinkManDao().save(man);
// 提交事物
tr.commit();
} catch (Exception e) {
e.printStackTrace();
// 出现异常 回滚事物
tr.rollback();
}


}


/**
* 查询所有联系人

* @return
*/
public List<Linkman> findLinkMan() {


// 获取session
Session session = HibernateUtil.getCurrentSession();
// 开启事物
Transaction tr = session.beginTransaction();


try {
// 调用dao层查询
List<Linkman> man = new AddLinkManDao().finAllLinkMan();
// 提交事物
tr.commit();
// 返回结果
return man;
} catch (Exception e) {


// 事物回滚
tr.rollback();
}
// 返回结果
return null;
}


/**
* 筛选联系人

* @param lkmName
* @return
*/
public List<Linkman> findLinkMan(DetachedCriteria criteria) {
// 获取session
Session session = HibernateUtil.getCurrentSession();
// 开启事物
Transaction tr = session.beginTransaction();
List<Linkman> man=null;
try {
// 调用dao层查询
man = new AddLinkManDao().finAllLinkMan(criteria);
// 提交事物
tr.commit();
} catch (Exception e) {


// 事物回滚
tr.rollback();
e.printStackTrace();
}
return man ;
}

}

Dao

package com.feizhu.dao;


import java.util.List;


import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;


import com.feizhu.domain.Customer;
import com.feizhu.domain.Linkman;
import com.feizhu.utils.HibernateUtil;


public class AddLinkManDao {


/**
* 根据id查询客户

* @param cust_id
* @return
*/


public Customer findById(Long cust_id) {


// 使用session
Session session = HibernateUtil.getCurrentSession();
// 查询 返回一个客户
return session.get(Customer.class, cust_id);
}


/**
* 保存联系人

* @param man
*/
public void save(Linkman man) {


// 使用session
Session session = HibernateUtil.getCurrentSession();
// 保存练习人
session.save(man);


}


/**
* 查询所有联系人
*/
public List<Linkman> finAllLinkMan() {
// 使用session
Session session = HibernateUtil.getCurrentSession();
// 查询联系人
return session.createQuery("from Linkman").list();
}


/**
* 查询筛选联系人

* @param criteria
* @return
*/
public List<Linkman> finAllLinkMan(DetachedCriteria criteria) {
// 使用session
Session session = HibernateUtil.getCurrentSession();
return criteria.getExecutableCriteria(session).list();
}


}

猜你喜欢

转载自blog.csdn.net/My_____Dream/article/details/80871843
今日推荐