BaseDB类:
package com.framework.dao;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Properties;
public class BaseDB {
/*private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=qzw";
private static final String USER = "sa";
private static final String PWD = "sa";*/
public Connection GetConnection() throws IOException{
Connection connection=null;
/*Class.forName(DRIVER).newInstance();
connection= DriverManager.getConnection(URL,USER,PWD);*/
Properties properties=new Properties();
InputStream is=this.getClass().getResourceAsStream("/db.properties");
properties.load(is);
String driver=properties.getProperty("driver");
String url=properties.getProperty("url");
String user=properties.getProperty("user");
String pwd=properties.getProperty("password");
try {
Class.forName(driver);
connection=DriverManager.getConnection(url,user,pwd);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
}
return connection;
}
/**
* 关闭关键字连接
* @param rSet
* @param pStatement
* @param connection
*/
public static void CloseConnection(Connection connection){
try {
if (connection!=null&&!connection.isClosed()) {
connection.close();
connection=null;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
SQLCommandBean类
package com.framework.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;
import javax.servlet.jsp.jstl.sql.Result;
import javax.servlet.jsp.jstl.sql.ResultSupport;
public class SQLCommandBean {
private Connection connection;
private String sqlValue;
private List values;
public void setConnection(Connection connection) {
this.connection = connection;
}
public void setSqlValue(String sqlValue) {
this.sqlValue = sqlValue;
}
public void setValues(List values) {
this.values = values;
}
public Result executeQuery() throws SQLException
{
PreparedStatement pStatement=null;
Statement stmt=null;
Result result=null;
ResultSet rSet=null;
try {
if(values != null && values.size()>0)
{
pStatement=connection.prepareStatement(sqlValue);
setValues(pStatement,values);
rSet=pStatement.executeQuery();
}else {
stmt=connection.createStatement();
rSet=stmt.executeQuery(sqlValue);
}
result = ResultSupport.toResult(rSet);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally
{
closeAll(rSet,stmt,pStatement);
}
return result;
}
public int executeUpdate() {
int noOfRows=0;
ResultSet rSet=null;
PreparedStatement pStatement=null;
Statement stmt=null;
try {
if(values !=null && values.size()>0)
{
pStatement=connection.prepareStatement(sqlValue);
setValues(pStatement, values);
noOfRows=pStatement.executeUpdate();
}else {
stmt=connection.createStatement();
noOfRows=stmt.executeUpdate(sqlValue);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally
{
closeAll(rSet, stmt, pStatement);
}
return noOfRows;
}
public void setValues(PreparedStatement pStatement,List values) throws SQLException
{
for (int i = 0; i < values.size(); i++) {
Object v=values.get(i);
pStatement.setObject(i+1, v);
}
}
public void closeAll(ResultSet rSet, Statement stmt,PreparedStatement pStatement) {
try {
if (rSet!=null) {
rSet.close();
rSet=null;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
try {
if(stmt!=null)
{
stmt.close();
stmt=null;
}
} catch (Exception e) {
// TODO: handle exception
}
try {
if (pStatement!=null) {
pStatement.close();
pStatement=null;
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
JSP result.jsp 测试调用
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@include file="SQLCommand.jsp" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>Result</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String content = request.getParameter("content");
Connection conn =null;
Result rs =null;
List values =null;
String sqlValue =null;
try{
conn = getConnection();
sqlValue ="select * from user";
sqlValue +=" where username like ?";
values = new ArrayList();
values.add(content);
this.setConnection(conn);
this.setSqlValue(sqlValue);
this.setValues(values);
rs = this.executeQuery();
}catch(Exception ex)
{
ex.printStackTrace();
System.out.println("查询出错了。。。");
}finally
{
closeConnection(conn);
}
for(int i= 0; i<rs.getRowCount(); i++ )
{
Map map = rs.getRows()[i];
System.out.println(map.get("username")+" " + map.get("email"));
}
%>
</body>
</html>
分享到:
相关推荐
"spring封装jdbc查询"是Spring框架中的一个核心功能,旨在简化传统的JDBC(Java Database Connectivity)操作,提高代码的可读性和可维护性,同时减少数据库操作中的潜在错误。以下是对这个主题的详细阐述: 首先,...
本示例"JDBC查询代码以Student实体类.zip"提供了一个简单的JDBC查询应用,涉及到的关键知识点包括: 1. **JDBC驱动注册**:在Java程序中,我们需要通过`Class.forName()`方法加载并注册JDBC驱动。例如,对于MySQL,...
标题中的“jdbc 查询小界面”指的是一个基于Java Swing开发的简单图形用户界面(GUI),用于执行SQL查询。这个应用程序利用了Java的Java Database Connectivity (JDBC) API来连接和操作数据库。JDBC是Java标准版...
使用 JDBC 查询数据库, 支持四种数据库 : DB2, Netezza, SQL Server, Oracle. 查询所得的数据将存放于 XML 内, 让让应用可以依要求从 XML 内取得所需的数据.
用于对MySQL中的数据进行查询,主要内容是查询的大致框架和方法,自己理解再根据自己的实际情况进行查询
一个简单的JDBC查询工具,支持Windows、Linux、Mac操作系统运行,依赖JAVA1.8+运行环境,下载后解压即可使用 (项目实施时可应急使用,比敲命令行强点,支持MAC端访问人大金仓数据库) 运行: Windows环境运行 ./...
标题中的“查询系统JDBC+Struts2”指的是一个基于Java技术栈的Web应用程序,它利用JDBC(Java Database Connectivity)进行数据访问,并结合Struts2框架来处理用户请求和展示结果。这样的系统通常用于实现数据库查询...
Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...
通过以上步骤,应该能解决JDBC查询返回空数据集的问题。在编程过程中,对字符编码的重视是避免此类问题的关键,因为不同的编码会导致数据的丢失或乱码,从而影响程序的正常运行。在进行跨平台或国际化开发时,对字符...
jdbc查询金仓数据库KingBaseES数据时间多8个小时问题分析.pdf
在Java编程领域,JDBC(Java Database Connectivity)是连接Java应用程序和关系型数据库的重要桥梁。本项目"javajdbc宠物商店-Mysql数据库"是基于Java JDBC实现的一个宠物商店管理系统的数据库部分,它提供了与MySQL...
本篇将详细讲解如何使用JDBC对数据库进行查询。 首先,我们需要理解JDBC的基本工作流程,这通常包括以下步骤: 1. 加载驱动:在Java程序中,我们使用`Class.forName()`方法加载数据库驱动。例如,对于MySQL,我们...
### 如何避免JDBC引起的内存溢出情况 在日常的软件开发过程中,特别是在处理大量数据时,使用Java数据库连接(JDBC)进行数据库操作是非常常见的。然而,在处理大数据集时,如果不注意细节,很容易遇到内存溢出的...
本示例展示了如何使用JDBC连接MySQL数据库并执行查询。以下是详细步骤和相关知识点: 1. **加载JDBC驱动程序**: 在Java程序中,我们首先需要加载特定数据库的JDBC驱动。这通常通过调用`Class.forName()`方法完成...
JDBC(Java Database Connectivity)则是Java语言连接数据库的标准接口,用于执行SQL语句,实现对数据库的访问。在这个"Struts2 JDBC 增删改查"项目中,我们将探讨如何结合这两者来构建一个简单的数据管理应用。 ...
通过JDBC,我们可以执行SQL语句,查询、更新和管理数据库中的数据。然而,当数据量非常大时,一次性加载所有数据可能会导致内存溢出,降低应用程序性能。 为了解决这个问题,我们可以采用多线程技术。多线程允许...
获取表的结构,无论是任何数据库,只要把驱动包加进去就可以了。
该方法主要涉及到 JDBC 操作数据库的连接、创建表、添加数据、查询等相关实现技巧。 一、JDBC 操作数据库的连接 在使用 JDBC 操作数据库之前,需要首先连接数据库。连接数据库的步骤包括加载数据库驱动、建立连接...
在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作...