购物网站13:顾客/用户管理Service

@Service @Transactional
public class BuyerServiceBean extends DaoSupport<Buyer> implements BuyerService {

 public void updatePassword(String username, String newpassword){
  em.createQuery("update Buyer o set o.password=?1 where o.username=?2")
  .setParameter(1, MD5.MD5Encode(newpassword)).setParameter(2, username).executeUpdate();
 }
 @Override
 public void save(Object entity) {
  Buyer buyer = (Buyer)entity;
  buyer.setPassword(MD5.MD5Encode(buyer.getPassword()));
  super.save(entity);
 }

 @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
 public boolean exsit(String username){
  long count = (Long)em.createQuery("select count(o) from Buyer o where o.username=?1").setParameter(1, username)
   .getSingleResult();
  return count>0;
 }
 
 public boolean checkUser(String username, String password){
  long count = (Long)em.createQuery("select count(o) from Buyer o where o.username=?1 and o.password=?2")
  .setParameter(1, username).setParameter(2, MD5.MD5Encode(password)).getSingleResult();
  return count>0;
 }
 
 @Override
 public void delete(Serializable ... entityIds){
  visible(false, entityIds);
 }

 @Override
 public long getCount() {
  return (Long)em.createQuery("select count(o) from Buyer o where o.visible=?1")
  .setParameter(1, true).getSingleResult();
 }

 private void visible(boolean visible, Serializable ... usernames){
  if(usernames!=null && usernames.length>0){
   StringBuffer jpql = new StringBuffer();
   for(int i=0; i<usernames.length;i++){
    jpql.append('?').append(i+2).append(',');
   }
   jpql.deleteCharAt(jpql.length()-1);
   Query query = em.createQuery("update Buyer b set b.visible=?1 where b.username in("+ jpql.toString() +")");
   query.setParameter(1, visible);
   for(int i=0; i<usernames.length;i++){
    query.setParameter(i+2, usernames[i]);
   }
   query.executeUpdate();
  }
 }
 
 public void enable(Serializable ... usernames) {
  visible(true, usernames);
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值