DBUtil中如何取得存入数据库中的值?

郑小枫 发布于 2013/04/10 12:50
阅读 224
收藏 0

用户登录时我用以下方法,想得到相应的ID值并保存在session对象中,后面登录成功后需要相应User的 ID值及其他属性,其中数据库中表的属性有(id,name,password,level,role)

public class UserDAO {

    DBConnection dbc = null;
    ResultSet rs = null;

    public UserDAO() {
        dbc = new DBConnection();
    }

  public User login(User user,HttpSession session) {

   private static final String LOGIN_USER_SQL = "select * from user where name=? and password = ?";

        String params[] = { user.getName(), user.getPassword() };
        List list = null;
        try {
            list = (List) dbc.query(LOGIN_USER_SQL, params,
                    new BeanListHandler(User.class));
            System.out.println(user.getId());
        } catch (Exception e) {
            e.printStackTrace();
        }
        if (list.size() >= 1) {
            return (User) list.get(0);
        } else {
            return null;

        }

}

    }

DBConnection的类如下:

package com.hjj.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

public class DBConnection {
        
        private final String DBDRIVER = "com.mysql.jdbc.Driver";
        private final String DBURL = "jdbc:mysql://localhost:3306/it";
        private final String DBUSER = "root";
        private final String DBPASSWORD ="root";
        private    Connection conn = null;

        
        public DBConnection(){
            try {
                Class.forName(DBDRIVER);
                conn = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
            } catch (Exception e) {
                System.out.println("");
            }
        }
        
        public Connection getConnection(){
            return conn;
        }
        
        public void close(){
            try {
                this.conn.close();
            } catch (SQLException e) {
                System.out.println("数据库链接成功...");
            }
        }
        
        public int update(String sql, String[] params) {
            int result = 0;
            QueryRunner qr = new QueryRunner();
            try {
                result = qr.update(conn,sql, params);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return result;
        }

        public Object query(String sql, String[] params, ResultSetHandler rsh) {
            QueryRunner qr = new QueryRunner();
            Object result = null;
            try {
                result = qr.query(conn, sql, params, rsh);
            } catch (SQLException e) {
                e.printStackTrace();
            }
            return result;
        }
}


加载中
返回顶部
顶部