📄 usercom.java
字号:
package control;
import model.*;
import java.sql.*;
/**
* 普通用户操作类
* @author steven
*
*/
public class UserCom
{
private Connection con;
/**
* 构造函数 取得与数据库的连接
* @param url 数据库的url
* @param database 数据库名
* @param pasw 数据库的密码
*/
public UserCom(String url,String database,String pasw)
{
con = new GetConnection(url,database,pasw).getConnection();
}
/**
* 判断是否存在该用户,用于注册时的用户名验证
* @param name 用户名
* @return
*/
public boolean isExitName(String name)
{
PreparedStatement pre;
String sql = "select UserName from userinf where UserName = ?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, name);
ResultSet rs = pre.executeQuery();
if(rs.next())
return true;
else
return false;
}
catch(SQLException e){return false;}
}
/**
* 判断该用户名跟密码是否正确,用户用户登陆
* @param name 用户名
* @param pasw 用户密码
* @return
*/
public boolean isExitUser(String name,String pasw)
{
PreparedStatement pre;
String sql = "select * from userinf where UserName = ? and Userpasw = ?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pasw);
ResultSet rs = pre.executeQuery();
if(rs.next())
return true;
else
return false;
}
catch(SQLException e){return false;}
}
/**
* 根据用户注册信息,增加用户
* @param name
* @param pasw
* @param age
*/
public boolean AddUser(String name,String pasw,int age)
{
if(isExitName(name))
return false;
else
{
PreparedStatement pre;
String sql = "insert into userinf(UserName,Userpasw,UserAge) values(?,?,?)";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pasw);
pre.setInt(3,age);
pre.execute();
return true;
}
catch(SQLException e){return false;}
}
}
public boolean AddUser2(String name,String pasw,int age,String image)
{
if(isExitName(name))
return false;
else
{
PreparedStatement pre;
String sql = "insert into userinf(UserName,Userpasw,UserAge,UserImage) values(?,?,?,?)";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, name);
pre.setString(2, pasw);
pre.setInt(3,age);
pre.setString(4,image);
pre.execute();
return true;
}
catch(SQLException e){return false;}
}
}
/**
* 修改用户密码
* @param name 用户名
* @param oldpasw 旧密码
* @param newpasw 新密码
*/
public void UpdatePasw(String name,String oldpasw,String newpasw)
{
if(isExitUser(name,oldpasw))
;
else
{
PreparedStatement pre;
String sql = "update userinf set Userpasw = ? where UserName = ?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, newpasw);
pre.setString(2, name);
pre.execute();
}
catch(SQLException e){}
}
}
/**
* 获取用户的发贴数
* @param UserName
* @return
*/
public int getTieziShuliang(String UserName)
{
int count ;
PreparedStatement pre;
String sql = "select TieziShuliang from userinf where UserName =?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1,UserName);
ResultSet rs = pre.executeQuery();
if(rs.next())
{
count = rs.getInt("TieziShuliang");
}
else
count = 0;
return count;
}
catch(SQLException e){return 0;}
}
/**
* 增加该用户的发贴数 (帖子被管理元审核通过时)
* @param name 用户名
*/
public void addTieziShuliang(String name)
{
int count = 0;
PreparedStatement pre1,pre2;
String sql = "update userinf set TieziShuliang = ? where UserName = ?";
//String sql2 = "select TieziShuliang from userinf where UserName = ?";
try
{
/*pre2 = con.prepareStatement(sql2);
pre2.setString(1, name);
ResultSet rs = pre2.executeQuery();
if(rs.next())
{
count = rs.getInt("TieziShuliang");
}
else
count = 0;*/
count = getTieziShuliang(name);
pre1 = con.prepareStatement(sql);
pre1.setInt(1, count+1);
pre1.setString(2, name);
pre1.execute();
}
catch(SQLException e){}
}
/**
* 减少该用户的发贴数 (帖子被管理员删除时)
* @param name
*/
public void delTieziShuliang(String name)
{
int count = 0;
PreparedStatement pre1,pre2;
String sql = "update userinf set TieziShuliang = ? where UserName = ?";
//String sql2 = "select TieziShuliang from userinf where UserName = ?";
try
{
/*pre2 = con.prepareStatement(sql2);
pre2.setString(1, name);
ResultSet rs = pre2.executeQuery();
if(rs.next())
{
count = rs.getInt("TieziShuliang");
}
else
count = 0;*/
count = getTieziShuliang(name);
pre1 = con.prepareStatement(sql);
pre1.setInt(1, count-1);
pre1.setString(2, name);
pre1.execute();
}
catch(SQLException e){}
}
/**
* 查看该用户权限(是否为管理员)
* @param UserName
* @return
*/
public boolean isAdmin(String UserName)
{
PreparedStatement pre;
String sql = "select * from userinf where UserName = ?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, UserName);
ResultSet rs = pre.executeQuery();
if(rs.next())
{
boolean result = rs.getBoolean("AdminOrNot");
return result;
}
else
return false;
}
catch(SQLException e){return false;}
}
/**
* 根据用户名 返回用户的全部信息
* @param UserName
* @return
*/
public User getUser(String UserName)
{
PreparedStatement pre;
User user = new User(UserName);
String sql = "select * from userinf where UserName = ?";
try
{
pre = con.prepareStatement(sql);
pre.setString(1, UserName);
ResultSet rs = pre.executeQuery();
if(rs.next())
{
user.setUserAge(rs.getInt("UserAge"));
user.setUserPasw(rs.getString("Userpasw"));
user.setTieziShuliang(rs.getInt("TieziShuliang"));
user.setAdminOrNot(rs.getBoolean("AdminOrNot"));
user.setTouxiang(rs.getString("UserImage"));
return user;
}
else
return null;
}
catch(SQLException e){return null;}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -