package com.biz;
import com.entity.TbMember;
public interface MemberRegisterBiz {
/**
* 普通会员注册
* @param mem
*/
public Integer insertMember(TbMember member);
/**
* 普通会员登录
* @param name
* @param password
* @return
*/
public TbMember memberLogin(String name,String password);
}
package com.biz.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.biz.MemberRegisterBiz;
import com.dao.MemberRegisterDao;
import com.entity.TbMember;
@Service("memberRegisterBiz")
public class MemberRegisterBizImpl implements MemberRegisterBiz {
@Autowired
private MemberRegisterDao memberRegisterDao;
@Override
public Integer insertMember(TbMember member) {
// TODO Auto-generated method stub
return memberRegisterDao.insertMember(member);
}
@Override
public TbMember memberLogin(String name, String password) {
// TODO Auto-generated method stub
return memberRegisterDao.memberLogin(name, password);
}
}
package com.dao;
import com.entity.TbMember;
public interface MemberRegisterDao {
/**
* 普通会员注册
* @param mem
*/
public Integer insertMember(TbMember member);
/**
* 普通会员登录
* @param name
* @param password
* @return
*/
public TbMember memberLogin(String name,String password);
}
package com.dao.impl;
import java.sql.SQLException;
import com.dao.MemberRegisterDao;
import com.entity.TbMember;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@Repository("memberRegisterDao")
public class MemberRegisterDaoImpl extends HibernateDaoSupport implements MemberRegisterDao {
@Override
@Transactional(propagation=Propagation.REQUIRES_NEW)
public Integer insertMember(TbMember member) {
// TODO Auto-generated method stub
Integer num=(Integer) getHibernateTemplate().save(member);
return num;
}
@Override
public TbMember memberLogin( final String name, final String password) {
// TODO Auto-generated method stub
TbMember meber = super.getHibernateTemplate().execute(new HibernateCallback<TbMember>() {
@Override
public TbMember doInHibernate(Session session)
throws HibernateException, SQLException {
// TODO Auto-generated method stub
Criteria criteria = session.createCriteria(TbMember.class).
add(Restrictions.eq("name", name))
.add(Restrictions.eq("password", password));
TbMember e = (TbMember) criteria.uniqueResult();
return e;
}
});
return meber;
}
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
MemberRegisterDaoImpl e=(MemberRegisterDaoImpl) context.getBean("memberRegisterDao");
System.out.println(e.memberLogin("xinxin", "123"));
}
}
package com.web;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import com.biz.impl.MemberRegisterBizImpl;
import com.entity.TbMember;
import com.opensymphony.xwork2.ActionSupport;
@Controller("memberAction")
public class MemberAction extends ActionSupport {
@Autowired
private MemberRegisterBizImpl memberRegisterBizImpl;
private TbMember member;
public TbMember getMember() {
return member;
}
public void setMember(TbMember member) {
this.member = member;
}
/**
* 会员登录的action
* @return
*/
public String login(){
HttpSession session = ServletActionContext.getRequest().getSession();
TbMember newMember=memberRegisterBizImpl.memberLogin(member.getName(), member.getPassword());
if (newMember!=null) {
session.setAttribute("newMember", newMember);
return SUCCESS;
}else {
return ERROR;
}
}
public String insert(){
System.out.println(member.getName());
Integer num=memberRegisterBizImpl.insertMember(member);
if (num>0) {
return SUCCESS;
}
return ERROR;
}
}