您的位置:首页 > 编程语言 > Java开发

ResultSet转换List或直接遍历解决null问题

2013-10-31 17:48 381 查看
//以下代码没有声明List tempList = new ArrayList(); ResultSet rs = null; String cols_name = "";

//根据sql语句得到ResultSet后变量都声明了就可以正常运行

//依赖包资源import java.text.DecimalFormat;

//          import java.sql.*;

//          import java.util.*;

          int count=0;

          DecimalFormat myFormatter = new DecimalFormat("0.##");

          //将数字格式化为保留小数点两位,但不补齐小数点后两位,也就是不会因为本身是整数而补小数点后的零

          ResultSetMetaData md = rs.getMetaData();

         //检索此ResultSet对象的列的编号、类型和属性返回此ResultSet对象的列的描述

            while (rs.next())//遍历所有行

            {

                Map data = new HashMap();

                count++;

                for (int i = 0; i < md.getColumnCount(); i++)//遍历此行的所有列

                {

                    cols_name = md.getColumnName(i + 1);//取出列名

                    Object val= rs.getObject(cols_name);

                    if (val instanceof Number)

         //如果是数字类型(可以转化为数字objtoint的意思)则格式化为标准数字格式

                    {

                        val= myFormatter.format(val);

                    }

                        val= (val==null)?"":val;//格式化空值

                    data.put(cols_name, ""+val);

                }

                tempList.add(data);

         //list中没行都是一个map可以list指向的行可以根据字段名去map中取值

             }

         //以上是遍历resultset并将其转换为list

          

            if (tempList!=null && tempList.size()>0)

            for (int i=0;i<tempList.size();i++)

            {

                 Map myMap=(Map)tempList.get(i);

                 String aa=(String)myMap.get("aa");

                 //可以使用aa了

             }

          //以上是遍历list的方法,其中aa为列名

      

========================================华丽分割线============================================

      

            DecimalFormat myFormatter = new DecimalFormat("0.##");

            ResultSetMetaData md = rs.getMetaData();

            while (rs.next())

            {

                for (int i = 0; i < md.getColumnCount(); i++)

                {

                  cols_name = md.getColumnName(i + 1);

       
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jdbc
相关文章推荐