⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultuserdaoimpl.java

📁 基于struts框架编写的在线考试系统
💻 JAVA
字号:
package examonline.service.impl;

import examonline.service.UserDAO;
import examonline.beans.User;
import examonline.exceptions.UserAreadyExistException;
import examonline.service.*;
import java.sql.*;
import java.util.*;


public class DefaultUserDAOImpl
    implements UserDAO {
  DBManager dm = ManagerFactory.getDBManager();
  private String findAllSql = "select * from userinfo";
   private String findNameLikeSql = "select * from userinfo where realname like ?";
  private String findByIdSql = "select * from userinfo where id =?";
  private String updateSql =
      "update userinfo set realname = ?, phone =?,address=?,email=? where id=?";
  private String deleteSql = "delete from userinfo where id =?";
  private String saveSql =
      "insert into userinfo(id,realname,phone,address,email) values(?,?,?,?,?)";
  public DefaultUserDAOImpl() {
  }

  /**
   * saveUser
   *
   * @param user User
   * @return int
   * @throws UserAreadyExistException
   * @todo Implement this examonline.models.UserManager method
   */
  public int saveUser(User user) throws UserAreadyExistException {
    Connection conn = dm.openConnection();
    int result = 0;
    try {
      User tempuser =findUserById(user.getId());
      if(tempuser!=null) throw new UserAreadyExistException();
      PreparedStatement stat = conn.prepareStatement(saveSql);
      stat.setString(1, user.getId());
      stat.setString(2, user.getName());
      stat.setString(3, user.getTelephone());
      stat.setString(4, user.getAddress());
      stat.setString(5, user.getEmail());

      result = stat.executeUpdate();
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    }
    finally {
      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {
      }
    }
    return result;

  }

  /**
   * deleteUserById
   *
   * @param id String
   * @return int
   * @todo Implement this examonline.models.UserManager method
   */
  public int deleteUserById(String id) {
    Connection conn = dm.openConnection();
    int result = 0;
    try {
      PreparedStatement stat = conn.prepareStatement(deleteSql);
      stat.setString(1, id);
      result = stat.executeUpdate();
      conn.commit();
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    }
    finally {
      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {
      }
    }
    return result;

  }

  /**
   * findUserById
   *
   * @param id String
   * @return User
   * @todo Implement this examonline.models.UserManager method
   */
  public User findUserById(String id) {
    Connection conn = dm.openConnection();
    User user = null;
    try {
      PreparedStatement stat = conn.prepareStatement(findByIdSql);
      stat.setString(1, id);
      ResultSet rs = stat.executeQuery();
      if (rs.next()) {
        user = new User();
        user.setId(rs.getString("id"));
        user.setAddress(rs.getString("address"));
        user.setEmail(rs.getString("email"));
        user.setTelephone(rs.getString("phone"));
        user.setName(rs.getString("realname"));
      }
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }

    finally {
      try {

        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {

      }
    }

    return user;
  }

  /**
   * findAllUsers
   *
   * @return List
   * @todo Implement this examonline.models.UserManager method
   */
  public List findAllUsers() {
    List list = new ArrayList();
    Connection conn = dm.openConnection();
    User user = null;
    try {
      Statement stat = conn.createStatement();
      ResultSet rs = stat.executeQuery(findAllSql);
      while (rs.next()) {
        user = new User();
        user.setId(rs.getString("id"));
        user.setAddress(rs.getString("address"));
        user.setEmail(rs.getString("email"));
        user.setTelephone(rs.getString("phone"));
        user.setName(rs.getString("realname"));
        list.add(user);
      }
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    }
    finally {
      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {
      }
    }

    return list;
  }

  /**
   * updateUser
   *
   * @param user User
   * @return int
   * @todo Implement this examonline.models.UserManager method
   */
  public int updateUser(User user) {
    Connection conn = dm.openConnection();
    int result = 0;
    try {
      PreparedStatement stat = conn.prepareStatement(updateSql);
      stat.setString(1, user.getName());
      stat.setString(2, user.getTelephone());
      stat.setString(3, user.getAddress());
      stat.setString(4, user.getEmail());
      stat.setString(5, user.getId());
      result = stat.executeUpdate();
    }
    catch (SQLException ex) {
      ex.printStackTrace();
    }
    finally {
      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {
      }
    }
    return result;

  }

  public boolean validateUser(String name, String password) {
    Connection conn = dm.openConnection();
    try {
      String sql = "select * from admin where username ='" + name + "' and password ='" +
          password + "'";
      Statement stat = conn.createStatement();
      ResultSet result = stat.executeQuery(sql);
      if (result.next())
        return true;
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    finally {
      try {
        if (conn != null)
          conn.close();
      }
      catch (SQLException ex1) {
      }
    }

    return false;
  }

public List findUserByName(String namelike)
  {
    List list = new ArrayList();
   Connection conn = dm.openConnection();
   User user = null;
   try {
     PreparedStatement stat = conn.prepareStatement(findNameLikeSql);
     stat.setString(1,"%"+namelike+"%");
     ResultSet rs = stat.executeQuery();
     while (rs.next()) {
       user = new User();
       user.setId(rs.getString("id"));
       user.setAddress(rs.getString("address"));
       user.setEmail(rs.getString("email"));
       user.setTelephone(rs.getString("phone"));
       user.setName(rs.getString("realname"));
       list.add(user);
     }
   }
   catch (SQLException ex) {
     ex.printStackTrace();
   }
   finally {
     try {
       if (conn != null)
         conn.close();
     }
     catch (SQLException ex1) {
     }
   }

   return list;

  }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -