将结果集值传递给另一个类

时间:2017-04-19 06:58:03

标签: java jdbc

我正在学习基本的java概念。我正在尝试将结果集传递给另一个类,但不知道该怎么做。

这是我的动作类:

import com.utils.JdbcTemplateProvider;

    public class ExParamAction{

        public void PwdExpiryDays() throws SQLException {
            ExParam exParam= new ExParam();
            Connection connection = null;
            PreparedStatement preparedStatement = null;
            String sql = "select pwd_expiry_days from parameter_tools";
            try {
                connection = JdbcTemplateProvider.getJdbcTemplate().getDataSource()
                        .getConnection();
                preparedStatement = connection.prepareStatement(sql);
                ResultSet rs = preparedStatement.executeQuery();
                while (rs.next()) {
                    exParam.setPwdExpiryDays(rs
                            .getInt("PWD_EXPIRY_DAYS"));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {

                if (preparedStatement != null) {
                    preparedStatement.close();
                }

                if (connection != null) {
                    connection.close();
                }

            }

如何将exParam.setPwdExpiryDays(rs.getInt("PWD_EXPIRY_DAYS"))传递给另一个班级?

我的ExParam课程:

public class ExParam {

    private Integer pwdExpiryDays;
    public Integer getPwdExpiryDays() {
        return pwdExpiryDays;
    }

    public void setPwdExpiryDays(Integer pwdExpiryDays) {
        this.pwdExpiryDays = pwdExpiryDays;
    }
}

2 个答案:

答案 0 :(得分:0)

创建全局字段:

    public class ExParamAction{
          ExParam exParam= new ExParam();
.......

并为pwdExpiryDays创建getter:

public int getPwdExpiryDays(){
     return exParam.getPwdExpiryDays();
}

答案 1 :(得分:0)

代码的这一部分。

   while (rs.next()) {

      exParam.setPwdExpiryDays(rs.getInt("PWD_EXPIRY_DAYS"));
     //the other class should accept the "ExParam" objet as a parameter and you can then pass it. 
      ExampleClass.staticMethod(exParam); //for static methods use
      //Or
      exampleClassInstance.exampleMethod(exParam); //for general use

   }

迷你样本:

 Class A{

   void method(B b){...} //B here might be your exParam. or the result you execute.

 }

 Class B{  ... }

传递对象后,你可以在其他类中做事。