JSP中的DAO是干什么的?如何来使用  请举例说明   请注释 谢谢 !!!

解决方案 »

  1.   

    dao简单点说就是对数据库进行增删该查等工作!
    package com.dwp.dao;import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    import java.util.List;import com.dwp.daos.ListDao;
    import com.dwp.daos.ListDaoImpl;
    import com.dwp.pojo.User;
    import com.dwp.util.DataSource;public class UserDaoImpl implements UserDao {
    //保存
    /* (non-Javadoc)
     * @see com.dwp.dao.UserDao#save(com.dwp.pojo.User)
     */
    public boolean save(User user) {
    boolean flag = false;
    //创建数据库
    DataSource ds = new DataSource();
    Connection conn = ds.getConnection();
    //创建stmt
    PreparedStatement stmt = null;

    try {
    //设置事务的提交方式为手动
    conn.setAutoCommit(false);
    stmt = conn.prepareStatement("insert into Users(loginName,userName,gender,birthday,password) values(?,?,?,?,?)");
    stmt.setString(1, user.getLoginName());
    stmt.setString(2, user.getUserName());
    stmt.setString(3, user.getGender());
    //把java.util.Date转换为java.sql.Date  如果带有时间java.sql.Timestamp
    stmt.setDate(4, new java.sql.Date(user.getBirthday().getTime()));
    stmt.setString(5, user.getPassword());
    //执行sql语句
    stmt.executeUpdate();
    //提交事务
    conn.commit();
    flag = true;
    } catch (SQLException e) {
    e.printStackTrace();
    try {
    //事务回滚
    conn.rollback();
    } catch (SQLException e1) {
    e1.printStackTrace();
    }
    } finally {
    ds.close(conn, stmt);
    }
    return flag;
    }

    //删除
    /* (non-Javadoc)
     * @see com.dwp.dao.UserDao#delete(com.dwp.pojo.User)
     */
    public boolean delete(User user) {
    return delete(user.getId());
    }

    /* (non-Javadoc)
     * @see com.dwp.dao.UserDao#delete(int)
     */
    public boolean delete(int id) {
    boolean flag = false;
    //创建数据库
    DataSource ds = new DataSource();
    Connection conn = ds.getConnection();
    //创建stmt
    PreparedStatement stmt = null;

    try {
    //设置事务的提交方式为手动
    conn.setAutoCommit(false);
    stmt = conn.prepareStatement("delete from Users where id=?");
    stmt.setInt(1, id);

    //执行sql语句
    stmt.executeUpdate();
    //提交事务
    conn.commit();
    flag = true;
    } catch (SQLException e) {
    e.printStackTrace();
    try {
    //事务回滚
    conn.rollback();
    } catch (SQLException e1) {
    e1.printStackTrace();
    }
    } finally {
    ds.close(conn, stmt);
    }
    return flag;
    }
    //修改
    /* (non-Javadoc)
     * @see com.dwp.dao.UserDao#update(com.dwp.pojo.User)
     */
    public boolean update(User user) {
    boolean flag = false;
    //创建数据库
    DataSource ds = new DataSource();
    Connection conn = ds.getConnection();
    //创建stmt
    PreparedStatement stmt = null;

    try {
    //设置事务的提交方式为手动
    conn.setAutoCommit(false);
    stmt = conn.prepareStatement("update Users set loginName=?,userName=?,gender=?,birthday=?,password=? where id=?");
    stmt.setString(1, user.getLoginName());
    stmt.setString(2, user.getUserName());
    stmt.setString(3, user.getGender());
    //把java.util.Date转换为java.sql.Date  如果带有时间java.sql.Timestamp
    stmt.setDate(4, new java.sql.Date(user.getBirthday().getTime()));
    stmt.setString(5, user.getPassword());
    stmt.setInt(6, user.getId());
    //执行sql语句
    stmt.executeUpdate();
    //提交事务
    conn.commit();
    flag = true;
    } catch (SQLException e) {
    e.printStackTrace();
    try {
    //事务回滚
    conn.rollback();
    } catch (SQLException e1) {
    e1.printStackTrace();
    }
    } finally {
    ds.close(conn, stmt);
    }
    return flag;
    }

    //查询
    /* (non-Javadoc)
     * @see com.dwp.dao.UserDao#getUserById(int)
     */
    public User getUserById(int id) {
    User user = null;
    ListDao listDao = new ListDaoImpl();
    List<User> userList = listDao.getList(User.class,
    "select * from Users where id=?", new Object[]{id});
    for(User tempUser : userList) {
    user = tempUser;
    }
    return user;
    }

    /**
     * 显示所有的Users记录
     */
    public List<User> getUserMessage() {
    ListDao listDao = new ListDaoImpl();
    List<User> userList = listDao.getList(User.class,
    "select * from Users");
    return userList;
    }
    }
      

  2.   

    哎  哪里的JDBC都可以  用在JSP中
      

  3.   

    我也同意楼上的质疑,你最好说DAO在SSH整合中的用处,DAO就是负责处理数据库方面(增,删。查,改)的