public static void main(String[] args) throws Exception {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521/orcl", "scott", "tiger");
String sql = "select * from T_LX_SYS_PARAMETER_REG where PARA_SYSTEM='LX'";
Statement stmt = conn.createStatement();
//ResultSet rs = stmt.executeQuery(sql);
//List<ResultSet> rs = (List<ResultSet>) stmt.executeQuery(sql);
//for(int i=0;i<rs.size();i++){
// System.out.println(i);
//}
????????????????????????????
stmt.close();
conn.close(); }将sql查询出来的结果放入List集合中,并打印出来

解决方案 »

  1.   

    知道怎么放入List中并打印出来
      

  2.   

    不知道怎么放入List中并打印出来
      

  3.   


    ResultSet rs = stmt.executeQuery(sql);
    List<String> list = new ArrayList<String>();
    while(rs.next()){
      list.add(rs.getString("*"));
    }
    for(String str : list){
      System.out.println(str);
    }sql语句最好不要用*,上面代码里的*只能把它当做一个字段了
    如果你要输出多个字段的值的话你就必须把所有字段封装到一个javabean里面
      

  4.   

    T_LX_SYS_PARAMETER_REG表里的字段名呢?你不写出来叫别人怎么放啊
      

  5.   

    你最好建个类,类的属性分别对应数据表的字段。
    1 创建一个这个类的对象。
    2 从结果集里读出字段赋值给相应属性。
    3 把对象放到list 里。
    4 重复2-3直到把结果集的记录全部转出。
    5 用迭代显示list的内容。
      

  6.   


    /**
     * 以list  map封装查询结果
     * @param sql
     * @return
     * @throws SQLException
     */
    public List<Map<String, String>> queryList(String sql) throws SQLException
    {
    rs = stmt.executeQuery(sql);
    List<Map<String, String>> list = new ArrayList<Map<String, String>>();
    Map<String, String> map = new HashMap<String, String>();
    while (rs.next())
    {
    for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++)
    {
    map.put(rs.getMetaData().getColumnName(i), rs.getString(rs.getMetaData().getColumnName(i)));
    }
    list.add(map);
    }
    return list;
    }
      

  7.   

    面向对象啊,兄弟
    class T_LX_SYS_PARAMETER_REG_CLASS{
      private xx xxxx
      ...
     //表中字段
    }伪代码
    ArrayList<T_LX_SYS_PARAMETER_REG_CLASS> lss;
    while(rs.next()){
       T_LX_SYS_PARAMETER_REG_CLASS ls = new T_LX_SYS_PARAMETER_REG_CLASS();
       ls.set(rs.getString(1));
        ......
       lss.add(ls);
    }return lss;
      

  8.   

    TABLE T_LX_SYS_PARAMETER_REG
        (
            PARA_REG_ID NUMBER(20) NOT NULL,
            PARA_SYSTEM VARCHAR2(30) NOT NULL,
            PARA_NAME VARCHAR2(80) NOT NULL,
            PARA_SYS_DEFAULT_VALUE NUMBER(20,2) NOT NULL,
            PARA_USER_SET_VALUE NUMBER(20,2) NOT NULL,
            NOTE VARCHAR2(100),
            BACK1 VARCHAR2(30),
            BACK2 VARCHAR2(30),
            CREATED_TIME DATE,
            CREATED_PERSON VARCHAR2(30),
            UPDATE_TIME DATE,
            UPDATE_PERSON VARCHAR2(30),
            PRIMARY KEY (PARA_REG_ID)
        )insert into SCOTT.T_LX_SYS_PARAMETER_REG (PARA_REG_ID, PARA_SYSTEM, PARA_NAME, PARA_SYS_DEFAULT_VALUE, PARA_USER_SET_VALUE, NOTE, BACK1, BACK2, CREATED_TIME, CREATED_PERSON, UPDATE_TIME, UPDATE_PERSON) values (1, 'LX', 'LX_SEC_RULE_NET_INCOME_LOSS', 0, 0, null, null, null, null, null, null, null);String sql = "select PARA_NAME,PARA_SYS_DEFAULT_VALUE,PARA_USER_SET_VALUE from T_LX_SYS_PARAMETER_REG where PARA_SYSTEM='LX'";
    将查询的结果放入List中。从List中获取“PARA_USER_SET_VALUE ”的值。本来可以在Bean中get set就可以获取这个值,但要求不用这方法,bean定义如下
    public class SystemParaBean{
    public static Double  LX_SEC_RULE_NET_INCOME_LOSS = 0.0;
    }怎么从List中获取PARA_USER_SET_VALUE 值。
      

  9.   

    楼主应该用map  代替list  存放结果  map  hashmap=new hashmap();while(rs.next()){
    hashmap.put(PARA_REG_ID ,rs.getobject(1);
    ............
    hashmap.put( PARA_USER_SET_VALUE,rs.getobject(5);.................}虽然村的时候麻烦一点点,但是   取就方便了很多啊!!mapObject.get(PARA_USER_SET_VALUE);
      

  10.   

    用你说的方法我这样写的
    public static List<Map<String, String>> queryList() throws SQLException{
     DbUtils.loadDriver("oracle.jdbc.driver.OracleDriver");
       Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl", "bshare", "bshare");
     String sql1 = "select PARA_NAME,PARA_SYS_DEFAULT_VALUE,PARA_USER_SET_VALUE from T_LX_SYS_PARAMETER_REG where PARA_SYSTEM like ?";
           PreparedStatement prep = conn.prepareStatement(sql1);        
           prep.setString(1,"LX%");
       ResultSet rs =  prep.executeQuery();
            //rs = stmt.executeQuery(sql);
            List<Map<String, String>> list = new ArrayList<Map<String, String>>();
            Map<String, String> map = new HashMap<String, String>();
            while (rs.next())
            {
                for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++)
                {
                    map.put(rs.getMetaData().getColumnName(i), rs.getString(rs.getMetaData().getColumnName(i)));
                }
                list.add(map);
            }
            return list;
        }
     
      public static void main(String[] args) throws SQLException{
      List list = queryList();
          System.out.print(list.size());
          for(int i =0; i<list.size(); i++){
           System.out.println(list.get(i) +"____" + i);
           
          }
      }
    执行结果:
    24{PARA_SYS_DEFAULT_VALUE=.8, PARA_NAME=LX_COM_RISK_BOND, PARA_USER_SET_VALUE=.8}____0
    {PARA_SYS_DEFAULT_VALUE=.8, PARA_NAME=LX_COM_RISK_BOND, PARA_USER_SET_VALUE=.8}____1
    ……………………………………………………………………………………………………………………………24
    “map.put(rs.getMetaData().getColumnName(i), rs.getString(rs.getMetaData().getColumnName(i)));
    ”这句什么意思?
      

  11.   

    多查API文档
    就是说将查询到的字段名和值分别作为Map的键和值存放到Map里
      

  12.   

    rs.getMetaData().getColumnName(i) //取resultSet中第i列的 列名
    rs.getString(rs.getMetaData().getColumnName(i)) //根据列名取第i列的值