zoukankan      html  css  js  c++  java
  • 运用BeanUtils构建通用的查询 更新方法(个人拙作,不喜勿喷)

    ------------------------------------更新方法-----------------------------------

    public void update(String sql,Object[] params){

      conn  //根据自己情况获取链接

      pstmt=conn.prepareStatement(sql);//获得预编译

      int count=pstmt.getParameterMetaData().getParameterCount();//获取元数据   得到占位符的个数

      if(params!=null && params.length>0){

        for(int i=0;i<count;i++){

          pstmt.setObject(i+1,params[i]);//给占位符设置参数

        }

      }

      pstmt.executeUpdate();

    }       

    ------------------------------------查询方法-----------------------------------占位符索引是从 1  开始的  不是从0开始的

    public <T> List<T> query(String sql,Object[] params,Class<T> clazz){

      List<T> list=new ArrayList<T>();

      T t=null;

      conn  //根据自己情况获取链接

      pstmt=conn.prepareStatement(sql);//获得预编译

      if(params!=null && params.length>0){

        for(int i=0;i<count;i++){

          pstmt.setObject(i+1,params[i]);//给占位符设置参数

        }

      }

      rs=pstmt.executeUpdate();//获得结果集

      ResultSetMetaData rsmd=rs.getMetaData();

      int num=rsmd.getColumnCount();//获得结果集的元数据   并且根据元数据获得 有多少列

      while(rs.next()){

        t=clazz.newInstance();

        for(int i=0;i<num;i++){

          String name=rsmd.getColumnName(i+1); 

          String value=rsmd.getObject(name);

          BeanUtils.copyProperty(t,name,value);

        }

        list.add(t);

      }

      return list;

    }

  • 相关阅读:
    vue 开发环境搭建
    签名算法
    MySQL explain执行计划优化
    查看运行时某个java对象占用JVM大小及通过idea查看java的内存占用情况
    jenkins 配置
    CSS布局
    《JavaScript 代码优化指南》
    JavaScript 跨域漫游
    iFrame 功能详解
    粘性的底部布局
  • 原文地址:https://www.cnblogs.com/ly-china/p/5417696.html
Copyright © 2011-2022 走看看