【框架集成】ssh简单实例-下篇

本篇我们进行内容的填充,让项目运行起来

先来看一下项目结构图:

第一步:配置实体层和响应的映射文件

package cn.itcast.crm.entity;

public class Customer {
	private Long custId;
	private String custName;
	private Long custUserId;
	public Long getCustId() {
		return custId;
	}
	public void setCustId(Long custId) {
		this.custId = custId;
	}
	public String getCustName() {
		return custName;
	}
	public void setCustName(String custName) {
		this.custName = custName;
	}
	public Long getCustUserId() {
		return custUserId;
	}
	public void setCustUserId(Long custUserId) {
		this.custUserId = custUserId;
	}
}
package cn.itcast.crm.entity;
// Generated 2009-11-6 10:02:01 by Hibernate Tools 3.2.2.GA



/**
 * Order generated by hbm2java
 */
public class Order  implements java.io.Serializable {


     private long id;
     private String orderNumber;
     private Customer customer;

    public Order() {
    }

	
    public Order(Customer customer) {
        this.customer = customer;
    }
    public Order(String orderNumber, Customer customer) {
       this.orderNumber = orderNumber;
       this.customer = customer;
    }
   
    public long getId() {
        return this.id;
    }
    
    public void setId(long id) {
        this.id = id;
    }
    public String getOrderNumber() {
        return this.orderNumber;
    }
    
    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }
    public Customer getCustomer() {
        return this.customer;
    }
    
    public void setCustomer(Customer customer) {
        this.customer = customer;
    }




}


package cn.itcast.crm.entity;

public class Page {
	private int start=1;
	private int pageSize=1;
	private int count=1;
	public int getStart() {
		return start;
	}
	public void setStart(int start) {
		this.start = start;
	}
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	

}

customer.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">
<!-- Generated 2016-2-26 16:58:40 by Hibernate Tools 4.3.1.Final -->
<hibernate-mapping>
    <class name="cn.itcast.crm.entity.Customer" table="customer"  optimistic-lock="version">
        <id name="custId" type="java.lang.Long">
            <column name="cust_id" />
            <generator class="identity" />
        </id>
        <property name="custName" type="string">
            <column name="cust_name" length="32" not-null="true"></column>
        </property>
        <property name="custUserId" type="java.lang.Long">
            <column name="cust_user_id"></column>
        </property>
    </class>
</hibernate-mapping>

order.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="cn.itcast.crm.entity">
	<class name="Order" table="orders">
		<id name="id" column="ID" type="long">
			<generator class="increment">
			</generator>
		</id>
		<property name="orderNumber" column="Order_Number" type="string">
		</property>
		<many-to-one 
			name="customer" 
			column="cust_id"
			class="Customer"
			cascade="save-update"  
			not-null="true"
			lazy="false">
		</many-to-one>
	</class>
</hibernate-mapping>

第二步:配置DAO层

customerDao.java

package cn.itcast.crm.dao;

import java.util.List;

import cn.itcast.crm.entity.Customer;

public interface CustomerDao {
	/**
	 * 根据ID获取客户信息
	 * @param id
	 * @return
	 */
	public Customer findById(Long id);
	
	public void saveCustomer(Customer customer); 
	
	public void updateCustomer(Long id); 
	
	public void deleteCustomer(Customer customer); 
	
	public <T> List<T> findByHql(String hql);
	
	public <T> List<T> findByHqlPage(int start ,int count);
	
	public int getCount();

}

实现类customerDaoImpl.java

package cn.itcast.crm.dao.impl;

import java.util.List;

import org.hibernate.Query;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import cn.itcast.crm.dao.CustomerDao;
import cn.itcast.crm.entity.Customer;

public class CustomerDaoImpl extends HibernateDaoSupport implements CustomerDao {

	@Override
	public Customer findById(Long id) {
		
		return this.getHibernateTemplate().get(Customer.class, id);
	}
	
	@Override
	public void saveCustomer(Customer customer) {
		
		this.getHibernateTemplate().save(customer);
	}

	@Override
	public void updateCustomer(Long id) {
		// TODO Auto-generated method stub
		Customer c=this.getHibernateTemplate().get(Customer.class, id);
		c.setCustName("fengxiankai");
		
		
	}

	@Override
	public void deleteCustomer(Customer customer) {
		// TODO Auto-generated method stub
		this.getHibernateTemplate().delete(customer);
	}
	
	public <T> List<T> findByHql(String hql) {
		List list=null;
		try{
			list=(List<T>)this.getHibernateTemplate().find(hql);
//			Query query=this.currentSession().createQuery(hql);
//			query.setString(0, id);
			
		}catch(Exception e){
			throw new RuntimeException();
		}
		return list;
	}
	
	public <T> List<T> findByHqlPage(int start ,int count) {
		
		List list=null;
		try{
			String hql="from Customer";
			Query query=this.currentSession().createQuery(hql);
			list=(List<T>)query.setFirstResult(start).setMaxResults(count).list();
		}catch(Exception e){
			throw new RuntimeException();
		}
		return list;
		
	}
	
	public int getCount(){
		int result=0;
		try{
			String hql="select count(*) from Customer";
			Query query=this.currentSession().createQuery(hql);
			result=((Long)query.uniqueResult()).intValue();
		}catch(Exception e){
			e.printStackTrace();
			throw new RuntimeException();
		}
		return result;
	}
	

}

orderDao.java

package cn.itcast.crm.dao;

import cn.itcast.crm.entity.Order;

public interface OrderDao {
	
	public void saveOrder(Order order);
	
	public Order findById(Long id);

}

orderDaoImpl.java

package cn.itcast.crm.dao.impl;

import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import cn.itcast.crm.dao.OrderDao;
import cn.itcast.crm.entity.Order;

public class OrderDaoImpl  extends HibernateDaoSupport implements OrderDao{

	@Override
	public void saveOrder(Order order) {
		// TODO Auto-generated method stub
		
		Session s=this.getSessionFactory().openSession();
		Transaction tx=s.beginTransaction();
		try{
			s.save(order);
			tx.commit();
		}catch(Exception e){
			tx.rollback();
		}
	}

	@Override
	public Order findById(Long id) {
		// TODO Auto-generated method stub
		return null;
	}

}

第三步:配置serice层

customer.service

package cn.itcast.crm.service;

import java.util.List;

import cn.itcast.crm.entity.Customer;

public interface CustomerService {

	/**
	 * 根据ID获取客户信息
	 * @param id
	 * @return
	 */
	public Customer findById(Long id);
	
	public void saveCustomer(Customer customer);
	
	public void updateCustomer(Long id);
	
	public void deleteCustomer(Long id);
	
	public  List<Customer> findByHql(Long id);
	
	public List<Customer> findByHqlPage(int start ,int count);
	
	public int getCount();
}

order.service

package cn.itcast.crm.service;

import cn.itcast.crm.entity.Order;

public interface OrderService {
	public void saveOrder();
	
	public Order findById(Long id);

}

customerServiceImpl.java

package cn.itcast.crm.service.impl;

import java.util.List;

import cn.itcast.crm.dao.CustomerDao;
import cn.itcast.crm.entity.Customer;
import cn.itcast.crm.service.CustomerService;

public class CustomerServiceImpl implements CustomerService {

	private CustomerDao  customerDao;
	
	
	public void setCustomerDao(CustomerDao customerDao) {
		this.customerDao = customerDao;
	}



	@Override
	public Customer findById(Long id) {
		return customerDao.findById(id);
	}



	@Override
	public void saveCustomer(Customer customer) {
		customerDao.saveCustomer(customer);
		
	}



	@Override
	public void updateCustomer(Long id) {
		// TODO Auto-generated method stub
		customerDao.updateCustomer(id);
	}



	@Override
	public void deleteCustomer(Long id) {
		// TODO Auto-generated method stub
		Customer c=customerDao.findById(id);
		customerDao.deleteCustomer(c);
	}



	@Override
	public List<Customer> findByHql(Long id) {
		// TODO Auto-generated method stub
		String hql="from Customer where id="+id;
		
		List<Customer> list=customerDao.findByHql(hql);
		return list;
	}



	@Override
	public List<Customer> findByHqlPage(int start, int count) {
		// TODO Auto-generated method stub
		
		
		List<Customer> list=customerDao.findByHqlPage( start, count);
		return list;
	}



	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return customerDao.getCount();
	}
	
	

}

orderServiceImpl.java

package cn.itcast.crm.service.impl;

import org.springframework.beans.factory.annotation.Autowired;

import cn.itcast.crm.dao.OrderDao;
import cn.itcast.crm.entity.Customer;
import cn.itcast.crm.entity.Order;
import cn.itcast.crm.service.OrderService;


public class OrderServiceImpl implements OrderService{
	@Autowired
	private OrderDao orderDao;

	@Override
	public void saveOrder() {
		// TODO Auto-generated method stub
		Customer customer=new Customer();
		customer.setCustName("hanxiao");
		Order order=new Order();
		order.setCustomer(customer);
		order.setOrderNumber("5201314");
		
		orderDao.saveOrder(order);
	}

	@Override
	public Order findById(Long id) {
		// TODO Auto-generated method stub
		return null;
	}

	public OrderDao getOrderDao() {
		return orderDao;
	}

	public void setOrderDao(OrderDao orderDao) {
		this.orderDao = orderDao;
	}

}

第四步:配置控制层action

customerAction.java

package cn.itcast.crm.action;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

import cn.itcast.crm.entity.Customer;
import cn.itcast.crm.entity.Page;
import cn.itcast.crm.service.CustomerService;

public class CustomerAction extends ActionSupport {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private Long custId;
	
	private Customer customer;
	
	private Page page;
	
	private CustomerService customerService;
	
	
	public void setCustomerService(CustomerService customerService) {
		this.customerService = customerService;
	}

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}
	
	public Page getPage() {
		return page;
	}

	public void setPage(Page page) {
		this.page = page;
	}

	public Long getCustId() {
		return custId;
	}

	public void setCustId(Long custId) {
		this.custId = custId;
	}
	
	
	public String findCustomerById(){
		
		
		customer = customerService.findById(custId);
		
		System.out.println("前端传过来的客户id是:"+custId);
		
		return SUCCESS;
	}
	public String saveCustomer(){
		
		System.out.println("前端传过来的客户name是:"+customer.getCustName());
		customerService.saveCustomer(customer);
		
		System.out.println("前端传过来的客户name是:"+customer.getCustName());
		
		return SUCCESS;
	}
	
	public  String updateCustomer(){
		
		System.out.println("前端传过来的客户id是:"+custId);
		customerService.updateCustomer(custId);
		
		return SUCCESS;
	}
	
	public  String deleteCustomer(){
		
		System.out.println("前端传过来的客户id是:"+custId);
		customerService.deleteCustomer(custId);
		
		return SUCCESS;
	}
	
	public String findCustomerByHql(){
		List<Customer> list=null;
		list = customerService.findByHql(custId);
		customer=list.get(0);
		System.out.println("前端传过来的客户id是:"+custId);
		
		return SUCCESS;
	}
	
	public String findCustomerByHqlPage(){
		List<Customer> list=null;
		list = customerService.findByHqlPage(page.getStart(), page.getCount());
		customer=list.get(0);
		System.out.println("前端传过来的客户id是:"+custId);
		
		return SUCCESS;
	}
	public String getCount(){
		int count=customerService.getCount();
		System.out.println("前端传过来的客户id是:"+custId);
		page=new Page();
		page.setCount(count);
		return SUCCESS;
	}
	
	
	
	public String execute(){
		System.out.println("前端传过来的客户id22222222222222222");
		return SUCCESS;
	}
	

}

OrderAction.java

package cn.itcast.crm.action;

import org.springframework.beans.factory.annotation.Autowired;

import cn.itcast.crm.service.OrderService;

import com.opensymphony.xwork2.ActionSupport;

public class OrderAction extends ActionSupport{
	@Autowired
	private OrderService orderService;
	
	private int OrderID;

	public int getOrderID() {
		return OrderID;
	}

	public void setOrderID(int orderID) {
		OrderID = orderID;
	}
	
	

	public OrderService getOrderService() {
		return orderService;
	}

	public void setOrderService(OrderService orderService) {
		this.orderService = orderService;
	}
	public String saveOrder(){
		
		orderService.saveOrder();
		System.out.println("111");
		return SUCCESS;
	}

}

至此内容填充完毕。

猜你喜欢

转载自blog.csdn.net/fxkcsdn/article/details/82844129