private static SQLStore sqlstore = null;
private static DBAccess db = null;
private DBAccess() {
init();
}
//实例化该单例
public static DBAccess getInstance() {
if (db == null)
db = new DBAccess();
return db;
}
//进行初始化,载入sqlstore
private void init() {
if (sqlstore == null)
sqlstore = SQLStore.getInstance();
}
//得到一个连接
public Connection getConnection() {
DataSource ds = null;
Connection conn = null;
try {
Context ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/oswf");
conn = ds.getConnection();
} catch (NamingException ne) {
ne.printStackTrace();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
return conn;
}
public Vector baseSQLSearch(String sql, Vector params) {
Connection conn = null;
ResultSet rs = null;
Vector<GeneralValueObject> result = new Vector<GeneralValueObject>();
try {
conn = getConnection(); //建立连接
PreparedStatement ps = conn.prepareStatement(sql);
String strParams = "";
//将参数传入去
if (params != null && params.size() > 0) {
for (int i = 0, s = params.size(); i < s; i++) {
String param = (String) params.get(i);
ps.setString(i + 1, param);
strParams = strParams + " " + param;
}
}
// 输出sql语句以及参数,用于调试....
System.out.println("Execute:" + sql);
System.out.println("Params:" + strParams);
rs = ps.executeQuery();
ResultSetMetaData rsmd = ps.getMetaData();
int columnCount = rsmd.getColumnCount();
//组装数据
while (rs.next()) {
GeneralValueObject gvo = new GeneralValueObject();
System.out.println("columnCount=" + columnCount);
if (columnCount > 0)
for (int i = 1; i <= columnCount; i++) {
System.out.println(rsmd.getColumnLabel(i));
System.out.println(rs.getString(i));
String str = rs.getString(i);
if (str == null)
str = "";
gvo.add(rsmd.getColumnLabel(i).toUpperCase(), str);
}
result.add(gvo);
}
ps.close();
rs.close();
} catch (SQLException sqle) {
sqle.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
分享到:
相关推荐
哈哈.跟大家分享.-atoolIReportstatementsonth.rar53607887testIReport一个关于报表工具IReport的例子应用程序.哈哈.跟大家分享.-atoolIReportstatementsonth.rar53607887testIReport一个关于报表工具IReport的例子...
文件视频今天我还哈哈还哈哈.zip
Quizapp1 试图为我的测验应用程序的主题寻求一些与众不同的想法,我最终花光了时间把所有东西都投入进去并像应该的那样工作....最终只是喂饱了我自己的冒名顶替综合症,哈哈.. ..希望它能帮助某个人!
云日志哈哈哈哈哈哈哈.pdf
哈哈.vbs
配电网三相潮流计算程序小毅毅哈哈.doc
哈哈哈.sp.exe
使用json数据动态生成N级栏目也可以改成树,本人自己的写的,感觉很强大,很好用,代码精简,内有...哈哈,用的很爽,如果你DIV and CSS很强的化,可以改成Json树哦~~~如果不懂的可以问我,但是得要100分哦,哈哈.....
下载本程序后请对admin/haha9.asp改名,并相应修改conn.asp、admin/conn.asp文件以防止数据库被下载;... 根目录里zwhua.asp为用户上传的文件,为了安全,我没有用,如果你想用的话就用吧! ...数据库在admin/haha9.asp ...
哈哈计时.apk
在给定的压缩包文件"所需jar包文件 在这里咯哈哈.zip"中,包含的可能是与Spring框架相关的`jar`文件。Spring是Java领域最广泛使用的轻量级框架,用于构建可扩展且易于维护的应用程序。 Spring框架的核心特性包括...
哈哈哈.exe
【批量重命名哈哈哈哈哈.zip】这个压缩包文件的标题暗示了其内容可能涉及一个关于批量修改文件或文件夹名称的教程或工具。批量重命名在IT行业中是一项常见且实用的操作,尤其是在处理大量文件时,例如整理照片、文档...
添加后可以在网页直接显示pdf文件,而不是下载。 ################################################### ...添加方法: ...找到 ; Module Settings ;...在上部调用的模块里...估计很多朋友跟我一样找这个补丁很久了,哈哈....
添加后可以在网页直接显示pdf文件,而不是下载。 ################################################### ...添加方法: ...找到 ; Module Settings ;...在上部调用的模块里...估计很多朋友跟我一样找这个补丁很久了,哈哈....
唯一的完全指导,哇哈哈哈哈......唯一的完全指导,哇哈哈哈哈......