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

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;

}

转载于:https://www.cnblogs.com/ly-china/p/5417696.html

运用BeanUtils构建通用的查询 更新方法(个人拙作,不喜勿喷)相关推荐

  1. java中使用ElasticSearch聚合查询代码实例(个人笔记,不喜勿喷)

    PS→无奈:拥有梦想只是一种智力,实现梦想才是一种能力. 空闲之余就把先前做过的一个通过ElasticSearch的聚合来实现查询当月实际签到的天数记录一下,纯留下点记忆,大家勿喷. 1.如果不了解e ...

  2. php 查看 实例 的方法,php – 从Laravel 5.1中的通用数据库查询中获取Eloquent模型的实例...

    我有不同关系的模型.假设我的Entry模型属于供应商,所以通常我的模型文件中有一个supplier()方法. 到目前为止一切都那么好,当我有一些像Entry :: find(1) – >供应商这 ...

  3. properties文件的用法;utils类封装数据库连接、资源关闭、通用的增删改,以及两种通用的查询方法

    /*=========================properties文件使用===============================*/ 某*.properties文件内容例如: driv ...

  4. '操作必须使用一个可更新的查询'解决方法

    原文:'操作必须使用一个可更新的查询'解决方法 当我们用ASP执行修改数据库记录操作时常会遇到以下问题 错误类型: Microsoft OLE DB Provider for ODBC Drivers ...

  5. ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression<Func<TFields, bool>>方法

    ABP +VUE Elment 通用高级查询(右键菜单)设计+LINQ通用类Expression 1. 目前需要用VUE实现源cs系统报表的右键菜单所有和自定义查询功能. 1.1 CS端的右键菜单效果 ...

  6. Spring Boot-------JPA——EntityManager构建通用DAO

    EntityManager EntityManager 是用来对实体Bean 进行操作的辅助类.他可以用来产生/删除持久化的实体Bean,通过主键查找实体bean,也可以通过EJB3 QL 语言查找满 ...

  7. java中mongodb中dao通用_Spring配置MongoDB及 构建通用Dao

    (文章的编写虽然不至于花费很多时间,但转载请注明来源.本文参考了:http://liuluo129.iteye.com/blog/1994045,在此基础上进行了部分优化,及详细的介绍了流程) 1.首 ...

  8. JDBC——实现通用的查询

    引言 上一篇jdbc的文章<JDBC--概述与JDBC的使用>介绍了JDBC的概念和背景知识,同时也讨论了获取数据库连接的方式,以及简单的实现了入库操作(更新.删除同理). 本篇博客将会聚 ...

  9. 复杂sql 查询编写方法_学习SQL:如何编写复杂的SELECT查询

    复杂sql 查询编写方法 In my career, I've heard many times, things like "How to write a complex SELECT qu ...

最新文章

  1. 拼装sql_3分钟短文 | Laravel复杂SQL超多WHERE子句,本地作用域你没用过
  2. 解释性的语言vs编译性语言
  3. java replaceall lt_static lt;Tgt; boolean replaceAll(Listlt;Tgt; list, T oldVal, T newVal)_Java...
  4. python中requests的常用方法_Python爬虫简介(2)——请求库的常用方法及使用,python,入门,二,requests,常见,和,库中,文官,网...
  5. java 性能 排序_Java常用排序算法及性能测试集合
  6. swift学习笔记-----swift中的指针
  7. EXC_BAD_ACCESS
  8. python-if条件判断与while/for循环
  9. 和朱晔一起复习Java并发(二):队列
  10. 定了!华为“最强5G旗舰手机”正式官宣:3月26日见
  11. linux底层文件io,学习Rust 文件与 IO
  12. AI产品开发指南:5大核心环节搞定机器学习工作流
  13. global http proxy configuration on ubuntu
  14. java glob paths_何时在JAVA的glob语法中使用**(双星)
  15. git本地项目推动到gitlab远端服务器
  16. ImportError: libgfortran.so.4: cannot open shared object file: No such file or directory
  17. CMA检测报告中,CNAS,CMA分别代表的意义
  18. CC2500的CCA
  19. 计算机的高级应用office,MS Office高级应用
  20. 运算放大器stb仿真与闭环增益备忘

热门文章

  1. ucgui 广告图片的8位色bmp以及gif文件 OSD层绘制说明
  2. 北邮计算机院入学教育,初次见面 | 信通院2017级研究生新生入学教育及第一次班会...
  3. SQL Server 2014 安装图文
  4. 关于Tekla的API
  5. 关于linux环境下访问Windows数据库的处理方法
  6. 步骤整理:VM虚拟机安装Brat(包括安装VMware,CentOS)
  7. MOCTF PUBG 反序列化+文件备份+linux文件读取
  8. 主页(八)-顶部导航——NavBar 导航栏 Icon 图标
  9. minipcie网卡改装
  10. MyDLNote-Transformer(for Low-Level): Uformer: U 型 Transformer 图像修复