今天终于想出了个电子把这个问题解决了。记录一下:
package com.sysnet.test;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args){
TestVO vo=new TestVO();
vo.setAge(2);
vo.setName("shenzhw");
vo.setDesc("sdag");
try{
new Test().t(vo);
}catch(Exception e){
e.printStackTrace();
}
}
//要对VO中的数据类型加以判断
public void t(TestVO vo) throws NoSuchMethodException,InvocationTargetException,IllegalAccessException{
Field[] fields=vo.getClass().getDeclaredFields();
Map<String,Object> valueMap=new HashMap<String,Object>();
for(int i=0;i<fields.length;i++){
Field f=fields[i];
String name=f.getName();
String method="get" + name.substring(0, 1).toUpperCase() + name.substring(1);
Method getMethod=vo.getClass().getMethod(method, new Class[]{});
Object value=getMethod.invoke(vo, new Object[]{});
if(value!=null){
valueMap.put(name, value);
}
}
StringBuffer sql=new StringBuffer("select * from t");
if(valueMap.size()>0){
sql.append(" where ");
}
Iterator<String> iter=valueMap.keySet().iterator();
String key=iter.next();
sql.append(key + "=" + valueMap.get(key));
while(iter.hasNext()){
String k=iter.next();
sql.append(" and " + k + "=" + valueMap.get(k));
}
System.out.println(sql.toString());
}
}
分享到:
相关推荐
1. select count(*) from table; //统计元组个数 2. select count(列名) from table; //统计一列中值的个数 3. select count(*) from table where 字段 = “”; //符合该条件的记录...就可以根据是否需要加条件,在
sql查询表中某字段下所有重复的记录,删除某字段下重复记录最小的那笔记录
"SQL高级查询50题" SQL 高级查询是数据库管理中的一种重要技术,能够帮助开发者和数据库管理员更好地管理和维护数据库。下面是50个 SQL 高级查询题目的知识点总结: 查询“001”课程比“002”课程成绩高的所有...
你可以轻松统计你输入的正负数的个数,而且不限制输入的个数,以零结束输入。。。
代码如下:select a,b,c,count(*) from (select c.a,c.b,c.c from test c) having count(*) >= 2 group by a,b,c 或者 代码如下:select zdbh,... 您可能感兴趣的文章:用SQL语句查询数据库中某一字段下相同值的记录方法
输入一页文字,程序可以统计出文字、数字、空格的个数。... 输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;
用动态SQL方法4连接 Oracle 的实现 ...动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句。
1102:与指定数字相同的数的个数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 33228 通过数: 21033 【题目描述】 输出一个整数序列中与指定数字相同的数的个数。 【输入】 输入包含三行: 第一行为N,表示整数...
本程序有一个好的计算字符个数的算法,而且可以计算比较齐全的字符。
C语言输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出(博主小白)
java作业,输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。实验报告+详细代码
java查询文件的个数
# 题目: # 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 # 分析: # 利用 while 或 for 语句,条件为输入的字符不为 '\n'。
关于这个话题,我也看到网上有其他方法来解决。 不过从性能和代码量上... 代码如下: 代码如下: declare @sql varchar(1000) set @sql=’abc国m,de中d国e人民f’ select @sql 字符,DATALENGTH(@sql)-len(@sql) 汉字个数
先输入一段字符串,改程序判断相同字符串的个数,并输出。
输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
从键盘输入十个整数,合法值为1.2或3,不是这三个数则为非法数字,试编程统计每个整数和非法数字的个数。运行结果如下: 请输入10个数: 2,5,3,3,1,6,4,1,3,3 输入的10个数为:2 5 3 3 1 6 4 1 3 3 数字1的...
编写程序模拟豆机,用户输入球的个数以及机器的槽数,打印每个球的路径模拟它的下落。
1068:与指定数字相同的数的个数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 28644 通过数: 20305 【题目描述】 输出一个整数序列中与指定数字相同的数的个数。输入包含2行:第1行为N和m,表示整数序列的长度(N...
输入一个字符串,统计出这个字符串的英文大写字母、小写字母、数字、空格以及其它字符的个数