📄 usersdao.java
字号:
package db;
import java.sql.*;
import java.util.*;
import javax.sql.*;
import javax.naming.*;
import domain.*;
import listener.DataSourceListener;
import actions.*;
public class UsersDao
{
private String selectAll="select user_id,user_name,user_password,user_email,user_level,user_score from bbsUsers";
private String selectById="select user_id,user_name,user_password,user_email,user_level,user_score from bbsUsers where user_name=?";
private String update="update bbsUsers set user_level=?,user_score=? where user_id=?";
private String delete="delete from bbsResponses where res_author=? delete from bbsTopics where topic_author=? delete from bbsUsers where user_id=?";
private String deleteUser="delete from bbsUsers where user_id=?";
private DataSource ds;
public UsersDao()
{
try
{
if(ds==null)
{
Context cx=new InitialContext();
ds=(DataSource)cx.lookup(DataSourceListener.JNDI_NAME);
}
}
catch(Exception e)
{
}
}
public BBSUser getUser(String name)
{
Connection conn=null;
BBSUser user=null;
try
{
conn=ds.getConnection();
PreparedStatement psmt=conn.prepareStatement(selectById);
psmt.setString(1,name);
ResultSet rs=psmt.executeQuery();
rs.next();
user=new BBSUser(rs.getInt(1),
rs.getString(2),
rs.getString(3),
rs.getString(4),
rs.getInt(5),
rs.getInt(6));
}
catch(Exception e)
{
}
finally
{
try
{
if(conn!=null)
conn.close();
}
catch(Exception ignore)
{
}
}
return user;
}
public void addUser(String userName,String userPassword,String email)
{
Connection conn=null;
BBSUser user=null;
try
{
conn=ds.getConnection();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=stmt.executeQuery("select * from bbsUsers");
rs.moveToInsertRow();
rs.updateString(2,userName);
rs.updateString(3,userPassword);
rs.updateString(4,email);
rs.insertRow();
}
catch(Exception e)
{
}
finally
{
try
{
if(conn!=null)
conn.close();
}
catch(Exception ignore)
{
}
}
}
public void setUser(String level,String score,int userId)
{
Connection conn=null;
try
{
conn=ds.getConnection();
PreparedStatement psmt=conn.prepareStatement(update);
psmt.setInt(1,Integer.parseInt(level));
psmt.setInt(2,Integer.parseInt(score));
psmt.setInt(3,userId);
psmt.executeQuery();
}
catch(Exception e)
{
}
finally
{
try
{
if(conn!=null)
conn.close();
}
catch(Exception ignore)
{
}
}
}
public HashMap getusers()
{
Connection conn=null;
HashMap users=null;
try
{
conn=ds.getConnection();
PreparedStatement psmt=conn.prepareStatement(selectAll);
ResultSet rs=psmt.executeQuery();
users=new HashMap();
while(rs.next())
{
BBSUser user=new BBSUser();
user.setUserId(rs.getInt(1));
user.setUserName(rs.getString(2));
user.setUserPassword(rs.getString(3));
user.setEmail(rs.getString(4));
user.setLevel(rs.getInt(5));
user.setScore(rs.getInt(6));
users.put(user.getUserId(),user);
}
}
catch(Exception e)
{
}
finally
{
try
{
if(conn!=null)
conn.close();
}
catch(Exception ignore)
{
}
}
return users;
}
public void delete(String name,String userId)
{
Connection conn=null;
try
{
conn=ds.getConnection();
PreparedStatement psmt=conn.prepareStatement(delete);
psmt.setString(1,name);
psmt.setString(2,name);
psmt.setInt(3,Integer.parseInt(userId));
psmt.executeQuery();
}
catch(Exception e)
{
}
finally
{
try
{
if(conn!=null)
conn.close();
}
catch(Exception ignore)
{
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -