一、在执行sql语句查询时候,查询的结果是set的map集合(ResultSet);

  结果使用rs.getString("XX")获得对应属性的值,赋值到bean对象的相应的属性中,使用bean.setXX(rs.getString("XX"))

  弊端:1、当bean对象的属性众多,写法非常麻烦,浪费人力,容易出错;

     2、后期代码修改,耦合性太高,一个属性修改,sql使用到的setget都要修改;

     3、java是面向对象编程的,此处没有抽取方法,代码复用性低;

   String sql = "SELECT * FROM olt_basic where synchronousstatus = 'SU' and tachniquestatus = 'WA' or (tachniquestatus = 'FA' and tachniquecount < 3)";
                         ResultSet rs = DataBaseOperate.executQuery(sql);
                         list = new ArrayList();
                         int firstNum = 1;
                         while (rs.next()) {
                             Basic basic = new Basic();
                             String basicId = rs.getString("Olt_Basic_ID");
                             String batchCode = rs.getString("BATCHCODE");
                             String batchName = rs.getString("BATCHNAME");
                             String sectionCode = rs.getString("SECTIONCODE");
                             String sectionName = rs.getString("SECTIONNAME");
                             String packageId = rs.getString("PACKAGEID");
                             String packageName = rs.getString("PACKAGENAME");
                             String packageCode = rs.getString("PACKAGECODE");
                             String packageValue = rs.getString("PACKAGEVALUE");
                             String bidderCode = rs.getString("BIDDERCODE");
                             String tachniquecount = rs.getString("Tachniquecount");
                             basic.setOlt_basic_id(basicId);
                             basic.setBatchcode(batchCode);
                             basic.setBatchname(batchName);
                             basic.setSectioncode(sectionCode);
                             basic.setSectionname(sectionName);
                             basic.setPackageid(packageId);
                             basic.setPackagename(packageName);
                             basic.setPackagecode(packageCode);
                             basic.setPackagevalue(packageValue);
                             basic.setBiddercode(bidderCode);
                             basic.setTachniquecount(tachniquecount);
                             list.add(basic);
                             firstNum++;
                         }

二、sql查询化繁为简

  使用commons-beanutils-1.9.3.jar架包,Set的map集合赋值到bean的属性值中;

  1、bean的对象的属性名称与数据库的字段名称对应

  2、reslut的结果转成map,使用BeanUtils.populate(对象,map)方法,将map中的值赋值到bean中对应的属性中

 List<OltBasic> listResult = new ArrayList<OltBasic>(100);
             StringBuffer sql = new StringBuffer();
             sql.append(" select * from olt_basic ob ");
             prepared = connection.prepareStatement(sql.toString());
             ResultSet resultSet = prepared.executeQuery();
             while (resultSet.next())
             {
                 Map<String, String> map = ResultToMapUtil.resultToMap(resultSet);
                 OltBasic bean = new OltBasic();
                 BeanUtils.populate(bean,map);
                 listResult.add(bean);
             }  

  

最新文章

  1. T-Sql(五)xml操作
  2. CentOS7.2 编译安装SVN1.9.5客户端
  3. 对于System.Net.Http的学习(一)——System.Net.Http 简介
  4. AI编辑SVG格式的相关问题
  5. 独立开发游戏越来越容易:Unity 发布旗下的最新游戏引擎 Unity 5,依然有免费版(转)
  6. 依賴注入入門——Unity(二)
  7. 在Eclipse上搭建Cocos2d-x的Android开发环境
  8. you don&#39;t have permission&#160;错误
  9. block 数组排序
  10. C编译: makefile基础
  11. 异常:Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException
  12. 辩证看待 iostat
  13. Android硬件编解码与软件编解码
  14. day5 liaoxuefeng---实战篇
  15. Java基础系列-ArrayList
  16. 除了使用new关键字,还有什么方法可以创建Java对象呢?
  17. https://github.com/gaoyangxiaozhu/DockerVI
  18. jmeter5.0生成html报告 快速入门
  19. Miniconda 虚拟环境安装及应用
  20. 使用vue-cli 引入bootstrap.min.css文件报错

热门文章

  1. 学问Chat UI(4)
  2. google软件测试之道读后感(一)
  3. vs 2015工具栏添加Tab Order
  4. django中request相关用法
  5. 机房收费系统——转换list泛型时,字段名称不正确应出现故障
  6. C#线程等待句柄
  7. MacBook 经常使用快捷键
  8. linux 虚拟机模拟配置网络路由环境-简版
  9. MyBatis_查询缓存01
  10. 第五章 使用 SqlSession