📄 dbuserfactory.java
字号:
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return user;
}
/**
* 创建论坛用户
* @param user
*/
public User createUser(User user){
boolean isSuccess = false;
ResultSet rs = null;
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
DBUser users = new DBUser(isSuccess);
Timer timer = new TimerExpress("yyyy-MM-dd HH:mm:ss");
try {
pstm = conn.prepareStatement(IS_EXIST_USER);
pstm.setString(1,user.getUsrName());
rs = pstm.executeQuery();
//判断是否有用户
if(rs.next()){
logger.info("用户 "+ user.getUsrName() + "已经存在 !");
users.setIsUserExist(true);
}
else{
users.setIsUserExist(false);
rs.close();
pstm.close();
pstm = conn.prepareStatement(CREATE_USER);
pstm.setString(1, CodeFilter.strEncode(user.getUsrName()));
pstm.setString(2, "1");
pstm.setString(3, MD5.toMD5(CodeFilter.strEncode(user.getUsrPasswd())));
pstm.setString(4, CodeFilter.htmlEncode(user.getUsrEmail()));
pstm.setString(5, CodeFilter.htmlEncode(user.getUsrQuestion()));
pstm.setString(6, CodeFilter.htmlEncode(user.getUsrAnswer()));
pstm.setString(7, timer.getNowDate());
pstm.setString(8, timer.getNowDate());
pstm.executeUpdate();
users.setSuccess(true);
logger.info("成功创建用户 : " + user.getUsrName());
}
}
catch (Exception ex) {
logger.error("创建论坛用户发生错误 : " + ex.getMessage());
}
finally{
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return users;
}
/**
* 用户登陆
*/
public User userLogon(User user){
ResultSet rs = null;
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
User users = new DBUser() ;
try {
pstm = conn.prepareStatement(USER_LOGON);
pstm.setString(1,CodeFilter.htmlEncode(user.getUsrName()));
pstm.setString(2,MD5.toMD5(CodeFilter.htmlEncode(user.getUsrPasswd())));
rs = pstm.executeQuery();
//判断是否有用户
if(rs.next()){
logger.info("用户 "+ user.getUsrName() + "成功登陆 !");
//先更新用户信息
upUserLoginInfo(user.getUsrName(),user.getUsrName());
users = userInfo(user.getUsrName());
}
}
catch (Exception ex) {
logger.error("论坛用户登陆发生错h误 : " + ex.getMessage());
}
finally{
try {
rs.close();
}
catch(Exception ex){
logger.error("关闭 rs 失败 error :" + ex.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return users;
}
/**
* 获取该用户的详细信息
*/
public User userInfo(String usrName){
ResultSet rs = null;
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
User user = new DBUser(true);
try {
pstm = conn.prepareStatement(USER_INFO_USRNAME);
pstm.setString(1,usrName);
rs = pstm.executeQuery();
rs.next();
logger.info("test1");
user.setUsrId(rs.getInt("usrId"));
user.setUsrName(rs.getString("usrName"));
logger.info("test2");
user.setUsrPasswd(rs.getString("usrPasswd"));
user.setUsrSex(rs.getString("usrSex"));
user.setUsrQuestion(rs.getString("usrQuestion"));
user.setUsrEmail(rs.getString("usrEmail"));
user.setUsrAnswer(rs.getString("usrAnswer"));
String usrRole = rs.getString("usrRole");
user.setRoles(getRoles(usrRole));
user.setUsrRole(usrRole);
user.setUsrIsOpen(rs.getString("usrIsOpen"));
user.setUsrRealName(rs.getString("usrRealName"));
user.setUsrBirthDay(rs.getString("usrBirthDay"));
user.setUsrFace(rs.getString("usrFace"));
user.setUsrUrl(rs.getString("usrUrl"));
user.setUsrQicq(rs.getString("usrQicq"));
user.setUsrMSN(rs.getString("usrMSN"));
user.setUsrIdiograph(rs.getString("usrIdiograph"));
user.setUsrAddr(rs.getString("usrAddr"));
user.setUsrOccupation(rs.getString("usrOccupation"));
user.setUsrEducation(rs.getString("usrEducation"));
user.setUsrInfo(rs.getString("usrInfo"));
user.setUsrWealth(rs.getString("usrWealth"));
user.setUsrLoadTime(rs.getString("usrLoadTime"));
user.setUsrRegTime(rs.getString("usrRegTime"));
user.setUsrLastTime(rs.getString("usrLastTime"));
user.setUsrTopic(rs.getInt("usrTopic"));
user.setUsrReTopic(rs.getInt("usrReTopic"));
user.setUsrDelTopic(rs.getInt("usrDelTopic"));
user.setUsrEliteTopic(rs.getInt("usrEliteTopic"));
user.setUsrIsDelete(rs.getInt("usrIsDelete"));
logger.info("test4");
}
catch (Exception ex) {
logger.error("获取论坛用户全部数据发生错误 : " + ex.getMessage());
}
finally{
try {
rs.close();
}
catch (Exception ex) {
logger.error("关闭 rs 失败 error : " + ex.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return user;
}
/**
* 用户登陆时侯更新登陆次数和最后登陆时间
*/
public void upUserLoginInfo(String type,String value){
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
Timer timer = new TimerExpress("yyyy-MM-dd HH:mm:ss");
try {
/**
* 更新两种情况,一是用户通过cookie自动登陆,和通过用户名登陆
*/
if("usrId".equals(type)){
pstm = conn.prepareStatement(UP_LOGON_INFO_USRID);
}
else{
pstm = conn.prepareStatement(UP_LOGON_INFO_USRNAME);
}
pstm.setString(1,timer.getNowDate());
pstm.setString(2,value);
pstm.executeUpdate();
}
catch (Exception ex) {
logger.error("更新登陆信息失败 : " + ex.getMessage());
}
finally{
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
}
/**
* 用户详细信息cookieId获取
*/
public User userInfo(int usrId){
ResultSet rs = null;
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
logger.info("用户成功登陆后返回true");
User user = new DBUser();
try {
pstm = conn.prepareStatement(USER_INFO_USRID);
pstm.setInt(1,usrId);
rs = pstm.executeQuery();
rs.next();
user.setUsrId(rs.getInt("usrId"));
user.setUsrName(rs.getString("usrName"));
logger.info("设置用户名 : " + rs.getString("usrName"));
user.setUsrPasswd(rs.getString("usrPasswd"));
user.setUsrSex(rs.getString("usrSex"));
user.setUsrQuestion(rs.getString("usrQuestion"));
user.setUsrEmail(rs.getString("usrEmail"));
user.setUsrAnswer(rs.getString("usrAnswer"));
String usrRole = rs.getString("usrRole");
user.setUsrRole(usrRole);
user.setRoles(getRoles(usrRole));
user.setUsrIsOpen(rs.getString("usrIsOpen"));
user.setUsrRealName(rs.getString("usrRealName"));
user.setUsrBirthDay(rs.getString("usrBirthDay"));
user.setUsrFace(rs.getString("usrFace"));
user.setUsrUrl(rs.getString("usrUrl"));
user.setUsrQicq(rs.getString("usrQicq"));
user.setUsrMSN(rs.getString("usrMSN"));
user.setUsrIdiograph(rs.getString("usrIdiograph"));
user.setUsrAddr(rs.getString("usrAddr"));
user.setUsrOccupation(rs.getString("usrOccupation"));
user.setUsrEducation(rs.getString("usrEducation"));
user.setUsrInfo(rs.getString("usrInfo"));
user.setUsrWealth(rs.getString("usrWealth"));
user.setUsrLoadTime(rs.getString("usrLoadTime"));
user.setUsrRegTime(rs.getString("usrRegTime"));
user.setUsrLastTime(rs.getString("usrLastTime"));
user.setUsrTopic(rs.getInt("usrTopic"));
user.setUsrReTopic(rs.getInt("usrReTopic"));
user.setUsrDelTopic(rs.getInt("usrDelTopic"));
user.setUsrEliteTopic(rs.getInt("usrEliteTopic"));
user.setUsrIsDelete(rs.getInt("usrIsDelete"));
}
catch (Exception ex) {
logger.error("获取论坛用户全部数据发生错误 : " + ex.getMessage());
}
finally{
try {
rs.close();
}
catch (Exception ex) {
logger.error("关闭 rs 失败 error : " + ex.getMessage());
}
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return user;
}
/**
* 修改用户信息
*/
public boolean editUser(User user){
boolean isSuccess = false;
Connection conn = DBConnectionManager.getInstance().getConnection();
PreparedStatement pstm = null;
try {
pstm = conn.prepareStatement(EDIT_USER);
pstm.setString(1,CodeFilter.htmlEncode(user.getUsrEmail()));
pstm.setString(2,CodeFilter.htmlEncode(user.getUsrQuestion()));
pstm.setString(3,CodeFilter.htmlEncode(user.getUsrAnswer()));
if("on".equals(user.getUsrIsOpen())){
pstm.setInt(4,1);
}
else{
pstm.setInt(4,0);
}
pstm.setString(5,CodeFilter.htmlEncode(user.getUsrRealName()));
pstm.setString(6,user.getUsrBirthDay());
String uploadFace = user.getUsrUploadFace();
logger.info("uploadFace = " + uploadFace);
if("".equals(uploadFace)){
pstm.setString(7, user.getUsrFace());
}
else{
pstm.setString(7,uploadFace);
}
pstm.setString(8,CodeFilter.htmlEncode(user.getUsrUrl()));
pstm.setString(9,CodeFilter.htmlEncode(user.getUsrQicq()));
pstm.setString(10,CodeFilter.htmlEncode(user.getUsrMSN()));
pstm.setString(11,CodeFilter.htmlEncode(user.getUsrIdiograph()));
pstm.setString(12,CodeFilter.htmlEncode(user.getUsrAddr()));
pstm.setString(13,CodeFilter.htmlEncode(user.getUsrOccupation()));
pstm.setString(14,CodeFilter.htmlEncode(user.getUsrEducation()));
pstm.setString(15,CodeFilter.htmlEncode(user.getUsrInfo()));
pstm.setInt(16,user.getUsrId());
pstm.executeUpdate();
logger.info("修改纪录成功......");
isSuccess = true;
}
catch (Exception ex) {
logger.error("修改用户信息错误 : " + ex.getMessage());
}
finally {
try {
pstm.close();
}
catch (Exception ex) {
logger.error("关闭 pstm 失败 error : " + ex.getMessage());
}
try {
conn.close();
}
catch (Exception ex) {
logger.error("关闭数据库连接失败 error : " +ex.getMessage());
}
}
return isSuccess;
}
/**
* 设置用户权限
*/
public void upUserRole(int i ,String usrRole,int usrId){
Connection conn = DBConnectionManager.getInstance().getConnection(
);
PreparedStatement pstm = null;
User user = userInfo(usrId);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -