package com.softfz.Test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test1 {
public static Connection getCon(){
Connection con = null;
try {
String url = "jdbc:oracle:thin:@localhost:1521:oracle";
String user = "ddd";
String psd = "ddd";
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url,user,psd);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("con:"+con);
return con;
}
public List select(List<Map> slist){
List list = new ArrayList();
Connection conn = this.getCon();
PreparedStatement psmt = null;
ResultSetMetaData rsmd = null;
int columnCount = -1;
ResultSet rs = null;
try {
for(Object oj :slist){
Map smap = (Map)oj;
String sql = (String)smap.get("sql");
psmt= conn.prepareStatement(sql);
List mlist = (List)smap.get("list");
for(int i =0;i<mlist.size();i++){
psmt.setObject(i+1, mlist.get(i));
}
rs = psmt.executeQuery();
while(rs.next()){
Map map = new HashMap();
rsmd = rs.getMetaData();
columnCount = rsmd.getColumnCount();
for(int j=1;j<columnCount;j++){
map.put(rsmd.getColumnName(j), rs.getObject(rsmd.getColumnName(j)));
}
list.add(map);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test1 test = new Test1();
Map mmap = new HashMap();
List mlist = new ArrayList();
List seList = new ArrayList();
mlist.add("888888");
mmap.put("sql", "select * from sys_user where v_password=?");
mmap.put("list", mlist);
seList.add(mmap);
for(Object oc:test.select(seList)){
System.out.println(oc);
}
}
}
分享到:
相关推荐
通过反射机制写的通用的方法,查询出对应的对象信息出来,通过一个SQL语句 返回一个对象或列表,在使用方法时要确保表名和实体名称一致,如果不一致,根据自己的业务规则需要改成一致,
1、增加自定义验证码功能(修改一个数字控制是否使用验证码) 2、新版的使用说明, 另:附上视频教程下载链接、数据转化工具网址供使用。 asp txt 通用查询系统手机版页面展示 相关阅读 同类推荐:站长常用...
asp+txt成绩查询系统是个最简单易用却又最非常实用的查询系统。广泛用于成绩查询,工资查询,物业费查询,证书查询等地方,宾且页面适合手机、微信、平板和电脑访问。操作说明:前台访问:http可以设置密码,但不可...
为什么我们要使用通用DAO接口呢,因为我们的数据库操作无非是增删改查,CRUD操作,我们不需要为每个实体去编写一个dao接口,对于相似的实体操作可以只编写一个通用接口,然后采用不同的实现! DAO已经成为持久层...
关于jdbc的通用查询方法,以及获取结果集RsultSet的处理 第一步:先导入jar包 在网上下载mysql-connector-java-5.1.45.jar 然后新建一个lib包用来存放jar包 之后将下载好的mysql-connector-java-5.1.45.jar复制粘贴...
这是accessoft上,作者:煮江品茶 写的一个LINQ例子,这几天找了很多参考都不是很好,今天找到这个,感觉非常好,里面各项查询例子写的很好,特意分享。感谢原作者。...时 间:2014-02-22 11:44:49 ...
"性能测试用例通用写法" 性能测试用例通用写法是指在软件开发中,为了确保软件的性能达到用户...性能测试用例通用写法是一个非常重要的测试方法,它可以帮助我们发现软件中的错误和缺陷,从而提高软件的质量和可靠性。
由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 显示,隐藏或关闭动画形式。(FormAnimator.cs) 对窗体进行...
能不能写个动态的业务,只输入存储过程名称,自动...只写一个通用方法,就可以调用所有的存储过程。只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
自己动手写搜索引擎 1 第1章 了解搜索引擎 1 1.1 Google神话 1 1.2 体验搜索引擎 1 1.3 你也可以做搜索引擎 4 1.4 本章小结 4 第2章 遍历搜索引擎技术 5 2.1 30分钟实现的搜索引擎 5 2.1.1 准备工作环境(10分钟) 5...
通过javabeen类从数据库中查询反射出对应的been类数据集合,写一个查询方法就可以通用
Visual C++通用范例开发金典(第一卷、共两卷) 压缩包没有含光盘 【作者】: 韦朴 陈泰生 【出版日期】:2008-06 【出版社】:电子工业出版社 【所属分类】: 图书 > 工业技术 【所属分类】: 图书 > 计算机与...
由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 显示,隐藏或关闭动画形式。(FormAnimator.cs) 对窗体进行...
一、缘由 在项目开发过程中,有一个需求是省市区地址选择的...其中后台总共需要提供4个接口,一个查询所有省份的接口,一个根据省份code查询其下所有城市的接口,一个根据城市code查询其下所有区/县的接口,以及一个
注:第一卷的描述写错了,总共是三卷压缩包 Visual C++通用范例开发金典(附光盘)/开发专家 【作者】: 韦朴 陈泰生 【出版日期】:2008-06 【出版社】:电子工业出版社 【所属分类】: 图书 > 工业技术 【所属...
4.Main页面菜单显示改为json对象传输到前台,然后由menu.js脚本实现菜单展示功能,方便二次开发对界面修改,菜单可以控制允许一次展开多个或者只允许展开一个; 5.修正图片上传后缀名区分大小写的问题; 6.系统...
asp+txt成绩查询系统是个最简单易用却又最非常实用的查询系统...2016.11.11 改进1、增加自定义验证码功能(修改一个数字控制是否使用验证码)2、新版的使用说明, 另:附上视频教程下载链接、数据转化工具网址供使用。
我们有多灵活 :支持多次查询,比如工资查询,一个月一个数据库(文件名即下拉的查询选项);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果...
需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的参数外还需要给方法传入一个类型,下面做一个例子 数据库有一张表,表结构如下 Users ---- 表名 ID ---- 用户ID Name ---- 用户名 ...
技术设计的主要目标是实现秒级查询,满足高性能、非侵入性、通用性、架构简洁和支持事务一致性等要求。为此,我们设计了Pharos产品,旨在解决当前数据查询效率低下的问题。 Pharos产品的设计原则是非侵入性、架构...