📄 userinfodao.java
字号:
/*
* Created on 2004-10-31
*
* http://www.open-v.com 提供代码的维护工作
*/
package com.openv.spring.service.dao.impl;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.doomdark.uuid.UUIDGenerator;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.dao.IUserInfoDAO;
import com.openv.spring.service.hibernate.UserInfo;
import com.openv.spring.service.hibernate.UserInterest;
/**
* IUserInfoDAO实现。处理用户相关信息的DAO实现。比如,获得兴趣列表、存储用户注册信息。
*
* @author luoshifei
*/
public class UserInfoDAO extends HibernateDaoSupport implements IUserInfoDAO {
private static final Log log = LogFactory.getLog(UserInfoDAO.class);
/**
* 获得兴趣信息列表
*
* @return List 兴趣信息列表
*/
public List getInterests() throws DataAccessException {
List list = new ArrayList();
List interestList = this.getHibernateTemplate().find(
"select interest.name from Interest interest");
for (int i = 0, k = interestList.size(); i < k; ++i) {
list.add(i, getFromEncodingTo((((String) interestList.get(i))
.trim()), "iso-8859-1", "gbk"));
log.info((String) list.get(i));
}
return list;
}
/**
* 存储用户注册信息
*
* @param userinfoVO
* 用户注册信息
*
* @return boolean 存储用户注册信息是否成功
*/
public boolean setUserInfo(UserInfoVO userinfoVO)
throws DataAccessException {
if (userinfoVO == null)
return false;
UserInfo ui = new UserInfo();
ui.setId(getID());
ui.setUsername(getFromEncodingTo(userinfoVO.getUsername().trim(),
"gbk", "iso-8859-1"));
ui.setPassword(userinfoVO.getPassword().trim());
ui.setEmail(userinfoVO.getEmail().trim());
ui.setCountry(getFromEncodingTo(userinfoVO.getCountry(), "gbk",
"iso-8859-1"));
this.getHibernateTemplate().save(ui);
List interestList = userinfoVO.getSelectedinterests();
if (interestList == null)
return true;
UserInterest userinterest;
for (int i = 0, k = interestList.size(); i < k; ++i) {
userinterest = new UserInterest();
// //验证事务回滚操作!
// userinterest.setId(null);
userinterest.setId(getID());
userinterest.setUsername(getFromEncodingTo(userinfoVO.getUsername()
.trim(), "gbk", "iso-8859-1"));
userinterest.setName(getFromEncodingTo(
(String) interestList.get(i), "gbk", "iso-8859-1"));
this.getHibernateTemplate().save(userinterest);
}
return true;
}
/**
* 模拟唯一ID的生成
*
* @return
*/
private String getID() {
return UUIDGenerator.getInstance().generateTimeBasedUUID().toString();
}
/**
* 字符串编码转换
*
* @param temp
* @param fromEncoding
* @param toEncoding
* @return
*/
private String getFromEncodingTo(String temp, String fromEncoding,
String toEncoding) {
String rString = "";
try {
byte[] rBytes = temp.getBytes(fromEncoding);
rString = new String(rBytes, toEncoding);
} catch (UnsupportedEncodingException ex) {
log.error("编码转换过程出现过错误", ex);
}
return rString;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -