`
wengsibo
  • 浏览: 81182 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

自己写了一个通用查询方法

阅读更多
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语句 返回一个对象或列表,在使用方法时要确保表名和实体名称一致,如果不一致,根据自己的业务规则需要改成一致,

    asp txt 通用查询系统手机版 v5.9.rar

    1、增加自定义验证码功能(修改一个数字控制是否使用验证码) 2、新版的使用说明, 另:附上视频教程下载链接、数据转化工具网址供使用。 asp txt 通用查询系统手机版页面展示 相关阅读 同类推荐:站长常用...

    asp+txt 通用查询系统手机版 v2019

    asp+txt成绩查询系统是个最简单易用却又最非常实用的查询系统。广泛用于成绩查询,工资查询,物业费查询,证书查询等地方,宾且页面适合手机、微信、平板和电脑访问。操作说明:前台访问:http可以设置密码,但不可...

    一个很好的通用泛型dao(含源码)

    为什么我们要使用通用DAO接口呢,因为我们的数据库操作无非是增删改查,CRUD操作,我们不需要为每个实体去编写一个dao接口,对于相似的实体操作可以只编写一个通用接口,然后采用不同的实现! DAO已经成为持久层...

    关于jdbc的通用查询方法,以及获取结果集RsultSet的处理

    关于jdbc的通用查询方法,以及获取结果集RsultSet的处理 第一步:先导入jar包 在网上下载mysql-connector-java-5.1.45.jar 然后新建一个lib包用来存放jar包 之后将下载好的mysql-connector-java-5.1.45.jar复制粘贴...

    VB.NET LINQ各项查询操作示例

    这是accessoft上,作者:煮江品茶 写的一个LINQ例子,这几天找了很多参考都不是很好,今天找到这个,感觉非常好,里面各项查询例子写的很好,特意分享。感谢原作者。...时 间:2014-02-22 11:44:49 ...

    性能测试用例通用写法

    "性能测试用例通用写法" 性能测试用例通用写法是指在软件开发中,为了确保软件的性能达到用户...性能测试用例通用写法是一个非常重要的测试方法,它可以帮助我们发现软件中的错误和缺陷,从而提高软件的质量和可靠性。

    C#公共类通用类非常齐全

    由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 显示,隐藏或关闭动画形式。(FormAnimator.cs) 对窗体进行...

    springboot mybatis 动态调用oracle存储过程,通过存储过程名称,就能动态调用存储过程、java动态调用or

    能不能写个动态的业务,只输入存储过程名称,自动...只写一个通用方法,就可以调用所有的存储过程。只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载

    自己动手写搜索引擎(罗刚著).doc

    自己动手写搜索引擎 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...

    java been类从数据库查询反射出对应的been类集合

    通过javabeen类从数据库中查询反射出对应的been类数据集合,写一个查询方法就可以通用

    Visual C++通用范例开发金典(第一卷、共两卷)

    Visual C++通用范例开发金典(第一卷、共两卷) 压缩包没有含光盘 【作者】: 韦朴 陈泰生 【出版日期】:2008-06 【出版社】:电子工业出版社 【所属分类】: 图书 &gt; 工业技术 【所属分类】: 图书 &gt; 计算机与...

    C#公共通用类

    由马丁·米勒http://msdn.microsoft.com/en-us/library/ms996492.aspx提供一个简单的方法打印工作的一个RichTextBox一个帮手(ExRichTextBoxPrintHelper.cs) 显示,隐藏或关闭动画形式。(FormAnimator.cs) 对窗体进行...

    基于Vue+ElementUI的省市区地址选择通用组件

    一、缘由 在项目开发过程中,有一个需求是省市区地址选择的...其中后台总共需要提供4个接口,一个查询所有省份的接口,一个根据省份code查询其下所有城市的接口,一个根据城市code查询其下所有区/县的接口,以及一个

    Visual C++通用范例开发金典(第三卷/共三卷)

    注:第一卷的描述写错了,总共是三卷压缩包 Visual C++通用范例开发金典(附光盘)/开发专家 【作者】: 韦朴 陈泰生 【出版日期】:2008-06 【出版社】:电子工业出版社 【所属分类】: 图书 &gt; 工业技术 【所属...

    自由宿主Asp.net网站通用后台管理系统 v3.2.zip

    4.Main页面菜单显示改为json对象传输到前台,然后由menu.js脚本实现菜单展示功能,方便二次开发对界面修改,菜单可以控制允许一次展开多个或者只允许展开一个; 5.修正图片上传后缀名区分大小写的问题; 6.系统...

    asp+txt 通用查询系统手机版

    asp+txt成绩查询系统是个最简单易用却又最非常实用的查询系统...2016.11.11 改进1、增加自定义验证码功能(修改一个数字控制是否使用验证码)2、新版的使用说明, 另:附上视频教程下载链接、数据转化工具网址供使用。

    php Txt多用途查询系统 v7.6.rar

    我们有多灵活 :支持多次查询,比如工资查询,一个月一个数据库(文件名即下拉的查询选项);且每次查询除了设置的查询条件列的标题得一致外,其他的都是自定义可以不一样(任意列数,任意列标题,任意行数);如果...

    SqlHelper MSSQL数据库辅助类 自己写的,不足之处请大家指教

    需要说明的是ExecuteList和ExecuteObject是泛型方法,调用时除了需要传必须的参数外还需要给方法传入一个类型,下面做一个例子 数据库有一张表,表结构如下 Users ---- 表名 ID ---- 用户ID Name ---- 用户名 ...

    百亿级数据的秒级复杂查询技术设计.pdf

    技术设计的主要目标是实现秒级查询,满足高性能、非侵入性、通用性、架构简洁和支持事务一致性等要求。为此,我们设计了Pharos产品,旨在解决当前数据查询效率低下的问题。 Pharos产品的设计原则是非侵入性、架构...

Global site tag (gtag.js) - Google Analytics