有点小疑问

来源:8-8 使用Cookie实现保存商品浏览记录

bigpeng

2015-12-26 22:37

Connection con = DBconn.getConnection();

DBconn就是仿照的连接数据库类

可是我定义了一个新的类,同时类有静态方法 为什么不可以这么用了?



userDao类:

package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import Data.DBconn;
import entity.user;

public class userDao {
    public userDao(){};
    // 将所有user放到ArrayList中
    public ArrayList<user> getAllUsers() {
        Connection conn = null;// 初始定义
        PreparedStatement stmt = null;// 初始定义
        ResultSet rs = null;// 初始定义
        ArrayList<user> list = new ArrayList<user>();// 初始声明
        try {
            conn = DBconn.getConnection();// 建立连接
            String sql = "select * from user";// sql语句
            stmt = conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            while (rs.next()) {

                user us = new user();
                us.setId(rs.getInt("id"));
                us.setUsertel(rs.getString("usertel"));
                us.setUseremail(rs.getString("useremail"));
                us.setPassword(rs.getString("password"));
                us.setName(rs.getString("name"));
                us.setGrade(rs.getInt("grade"));
                us.setCards(rs.getString("cards"));
                us.setSign(rs.getString("sign"));
                us.setPer_imag(rs.getString("per_imag"));
                us.setExp(rs.getInt("exp"));
                us.setWarn(rs.getInt("warn"));
                us.setAble(rs.getInt("able"));
                list.add(us);
            }
            return list;// return 执行在finally之后...所以,finally 照样执行
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            // 释放 rs stmt ,并且conn不能释放,因为定义了一个静态的常量的conn,要给其他需要的地方使用
            if (rs != null) {
                try {
                    rs.close();
                    rs = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                    stmt = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }

    }
    public static String getText(){
        return "sss";
    }
}

567eb0d8000138d905000347.jpg

567eb0ed0001d58005000240.jpg


写回答 关注

2回答

  • adamlee
    2016-04-24 02:10:09

    静态方法是类的方法,不建议使用对象调用。

  • bigpeng
    2015-12-26 22:49:36

    我刚才的问题是cookie 相同名字只能取一个,否则覆盖,这个现在我知道了。  cookie中的值可以用,隔开吗?  不会出现搜索不到吗?

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248278 学习 · 3071 问题

查看课程

相似问题