public void testUpdatePass2Md5() { GeneralCriteria criteria = new GeneralCriteria(User.class); GeneralCriteriaResult<User> result = criteria.executeQuery(); for (User u : result.getData()) { u.setPassword(MD5Util.encode(u.getPuk())); criteria.getCriteriaQuery().update(u); System.out.println("更新MD5:" + u.getPassword()); } }
public void testQueryView() { User entity = new User(); entity.setStatus("NONEOCT"); GeneralCriteria criteria = new GeneralCriteria(UserVO.class); criteria.setDataOnly(false); criteria.addOrder(Order.desc("activeTime")); if (entity != null) { if (entity.getUsername() != null) { criteria.add(Restrictions.eq("username", entity.getUsername())); } if (entity.getPassword() != null) { criteria.add(Restrictions.eq("bindIP", entity.getBindIP())); } if (entity.getStatus() != null) { if (entity.getStatus().equals("NORMAL")) { // 正常 criteria.add(Restrictions.eq("status", "NORMAL")); } else if (entity.getStatus().equals("EXPIRED")) { // 过期 criteria.add(Restrictions.gt("expiredTime", new Date())); } else if (entity.getStatus().equals("NONEOCT")) { // 无流量 criteria.add( Restrictions.sqlRestriction("maxOctets*1024*1024>sumInputOctets+sumOutputOctets")); } } } GeneralCriteriaResult<UserVO> result = criteria.executeQuery(); GeneralCriteriaQuery query = criteria.getCriteriaQuery(); System.out.println("结果数:" + result.getTotal()); Calendar c = Calendar.getInstance(); c.clear(); c.set(2012, 6, 1); Date start = c.getTime(); c.add(Calendar.MONTH, 12); Date end = c.getTime(); DecimalFormat df = new DecimalFormat(".00"); for (UserVO vo : result.getData()) { System.out.println(vo.getId() + ",username:"******",sumoct:"); User u = (User) query.get(User.class, vo.getId()); // UserFeeCycle cycle = new UserFeeCycle(); // cycle.setStart(start); // cycle.setEnd(end); // double ratio = vo.getActualFee()/(vo.getMaxOctets()*1024); // cycle.setCostFee(Double.valueOf(df.format(((cycle.getInputOct()+cycle.getOutputOct())*1.05/1024)*ratio))); // cycle.setUser(u); // query.save(cycle); } }