运用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;
}
运用BeanUtils构建通用的查询 更新方法(个人拙作,不喜勿喷)的更多相关文章
- AspNet Core 下利用普罗米修斯+Grafana构建Metrics和服务器性能的监控 (无心打造文字不喜勿喷谢谢!)
概述 Prometheus的主要特点 组件 结构图 适用场景 不适用场景 安装node_exporter,系统性能指数收集(收集系统性能情况) 下载文件 解压并复制node_exporter应用程序到 ...
- 自己用的一套reset.css,打算整理一下方便以后用,持续更新中,各位大神,不喜勿喷
*{margin: 0; padding: 0;border:none;}img{vertical-align: top;width: 100%;border: none;}ul,li{list-st ...
- <五>JDBC_利用反射及JDBC元数据编写通用的查询方法
此类针对javaBean类写了一个通用的查询方法,List<javaBean> 通用查询更新中...:通过学习,深刻体会到学会反射就等于掌握了java基础的半壁江山! 一.使用JDBC驱动 ...
- JDBC学习笔记(5)——利用反射及JDBC元数据编写通用的查询方法
JDBC元数据 1)DatabaseMetaData /** * 了解即可:DatabaseMetaData是描述数据库的元数据对象 * 可以由Connection得到 */ 具体的应用代码: @Te ...
- 【转】JDBC学习笔记(5)——利用反射及JDBC元数据编写通用的查询方法
转自:http://www.cnblogs.com/ysw-go/ JDBC元数据 1)DatabaseMetaData /** * 了解即可:DatabaseMetaData是描述数据库的元数据对象 ...
- 使用ResultSet,写了一个通用的查询方法
此方法很烂,以后优化 /** * 通用的查询方法:SELECT */ @SuppressWarnings({ "unchecked", "rawtypes" } ...
- MVC LINQ中用封装的TSQL通用更新方法
把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新 看代码:这两个方法是写在DAL里的数据操作基类里的,只有它的子类可以用它,所以用protected做为限制 /// < ...
- Java -- JDBC_利用反射及 JDBC 元数据编写通用的查询方法
先利用 SQL 进行查询,得到结果集: 利用反射创建实体类的对象:创建对象: 获取结果集的列的别名: 再获取结果集的每一列的值, 结合 3 得到一个 Map,键:列的别名,值:列的值: 再利用反射为 ...
- Java_jdbc 基础笔记之十一数据库连接 (通用的查询方法)
鉴于之前的查询方法,在这里我们可以写一个通用的方法 /** * 鉴于 student.和customer查询的方法有好多相同之处,在此可以写一个通用的方法 */ public <T> T ...
随机推荐
- Move Zeroes——Leetcode
Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ ...
- mac下的改装人生——关于ssd
这两天研究了很多关于ssd的东西,想想还是写下来把,毕竟花了这么多时间进去. 先说一下我自己的电脑把.前几天,因为嫌我的电脑是在是太卡了,准备来次升级,然后先买了个8g的内存装上,发现的确是没有死机的 ...
- UVAlive7141 BombX 14年上海区域赛D题 线段树+离散化
题意:一个无限大的棋盘, 有n个小兵, 给出了n个兵的坐标, 现在有一个长为width 高为height的炸弹放在棋盘上, 炸弹只能上下左右平移, 不能旋转. 且放炸弹的区域不能含有士兵, 炸弹可以一 ...
- C++Primer第5版学习笔记(一)
C++Primer第5版学习笔记(一) 第一.二章的重难点内容 这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...
- Django中的Ajax
Ajax 很多时候,我们在网页上请求操作时,不需要刷新页面.实现这种功能的技术就要Ajax!(本人定义,不可迷信) jQuery中的ajax就可以实现不刷新页面就能向后台请求或提交数据的功能,我们仍然 ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- android 45 通知
package com.sxt.day07_01; import android.app.Activity; import android.app.Notification; import andro ...
- spring beans源码解读之--BeanFactory的注册
beanFactory的继承关系如下图所示: (图片来源:http://www.myexception.cn/software-architecture-design/925888.html) 在上节 ...
- 解决github提交commit,contributions不统计显示绿色的问题
最近使用GitHub Desktop时,发现自己好多次的commits都没有被记录在Contributions中,但是点开项目详情里面可以看到自己的commit确实上传成功了,所以就忧伤了,为什么没有 ...
- python - 操作RabbitMQ
python - 操作RabbitMQ 介绍 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议.MQ全称为Mess ...