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);
}
}
}
分享到:
相关推荐
在实际开发中,为了提高代码的复用性和可维护性,我们通常会封装一个通用的分页查询方法。这个方法接受实体类、查询条件、排序方式、当前页和每页大小作为参数,返回分页结果。这种方法可以降低代码冗余,提升开发...
总结起来,构建一个“Hibernate超级通用DAO”是一个系统工程,需要对Hibernate框架有深入的理解,并熟练掌握其API的使用。通过良好的设计和合理的抽象,我们可以构建出一个强大且灵活的数据访问层,满足各种业务需求...
标题“使用jquery-easyui写的简单通用查询”指的是在Web开发中使用jQuery EasyUI框架创建一个功能齐全且可复用的查询组件。jQuery EasyUI是一个基于jQuery的UI库,它提供了一系列预先封装好的UI组件,如表格、下拉...
在这个通用查询方法中,核心思想是利用反射机制将SQL查询结果映射到Java对象或者对象列表。通常,这个过程会涉及到以下步骤: 1. **解析SQL语句**:首先,编写一个SQL查询,用于从数据库中获取数据。这个SQL可以...
这个通用类的目的是提供一个方便、灵活的方法来处理各种数据库的连接,简化开发过程。在本文中,我们将深入探讨C#中数据库连接的相关知识点,以及如何创建这样一个通用的数据库连接类。 首先,C#中的数据库连接通常...
"VC数据库通用读写类"是为了解决这个问题而设计的,它提供了一个统一的接口,允许开发者通过ADO(ActiveX Data Objects)连接到不同的数据库系统,实现数据的读取和写入操作。 ADO是微软开发的一种数据访问技术,它...
本文将详细探讨"JAVA写的通用分页"这一主题,结合描述中的"通用高效分页存储过程实现",我们将深入理解Java分页的原理、实现方式以及优化策略。 首先,分页的基本概念是将大量数据分块展示,而不是一次性加载所有...
这个“我写的一个C#通用搜索”项目,根据描述,它旨在提供一个灵活的搜索机制,允许用户自定义搜索条件,并且已经在SQL Server数据库上进行了测试。这个功能对于数据密集型的应用程序来说非常实用,因为它可以方便地...
对于存储过程的支持,通用数据库读写类通常会有一个方法来执行存储过程,如`ExecuteProcedure`,它接受存储过程名和参数,然后调用数据库连接执行。存储过程在数据库管理中有很多优势,比如提高性能、封装复杂的业务...
该通用DAO模式的核心在于,它提供了一个基础DAO接口,如`BaseDao<T>`,其中`T`代表任意数据实体类型。这个接口通常包含增删改查等基本方法,例如`save()`, `delete()`, `update()`, `findById()`, `findAll()`等。...
1、增加自定义验证码功能(修改一个数字控制是否使用验证码) 2、新版的使用说明, 另:附上视频教程下载链接、数据转化工具网址供使用。 asp txt 通用查询系统手机版页面展示 相关阅读 同类推荐:站长常用...
在软件开发中,尤其是在企业级应用中,数据查询是一个核心部分,而通用查询框架能够帮助开发者快速实现复杂的数据操作,减少代码重复,提高开发效率。 该框架的核心思想是将SQL查询语句的构建过程抽象化,通过定义...
创建一个方法,加载XML文件,然后提供查询和解析XML的接口。也可以使用更现代的XmlReader或XDocument,它们在性能和易用性上都有所提升。 5. **操作Cookie**: Asp.net提供了HttpCookie类来处理Cookie。可以封装一...
asp+txt成绩查询系统是个最简单易用却又最非常实用的查询系统。广泛用于成绩查询,工资查询,物业费查询,证书查询等地方,宾且页面适合手机、微信、平板和电脑访问。操作说明:前台访问:http可以设置密码,但不可...
综上所述,这个“C#写的通用数据访问类库”是一个旨在提高开发效率,简化数据访问代码的工具,它通过提供一套完整的数据操作接口,降低了开发人员对数据库操作的复杂性,使他们能更专注于业务功能的实现。...
例如,它可能有一个ExecuteNonQuery()方法用于执行非查询SQL,一个ExecuteScalar()方法用于获取单个值,以及一个ExecuteReader()方法用于获取数据集。 2. IOHelp 类: IOHelp 类专注于处理文件和目录操作。它包含...
2. Mapper接口:每个接口方法对应一个SQL查询,通过动态代理实现。 3. 通用Mapper:提供通用的CRUD方法,减少重复代码。 4. MyBatis-Spring整合:使得MyBatis与Spring无缝集成,支持事务管理。 **Druid核心知识点:...
标题中的“sql语句写分页通用代码”意味着我们将讨论如何编写一个可复用的SQL查询,它可以根据不同的需求和场景进行调整,例如改变每页的行数或切换不同的表进行查询。这样的代码通常具有较高的灵活性和可维护性。 ...
本项目"sign-canvas"将Vue组件与Canvas技术相结合,创建了一个通用的手写签名板,适用于PC端和移动端的电子签名需求。它不仅实现了基本的手写签名功能,还提供了丰富的附加功能,如重新签名、覆盖签名、下载签名图像...