`

JDBC查询

    博客分类:
  • Java
阅读更多
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>


1
1
分享到:
评论

相关推荐

    spring封装jdbc查询

    "spring封装jdbc查询"是Spring框架中的一个核心功能,旨在简化传统的JDBC(Java Database Connectivity)操作,提高代码的可读性和可维护性,同时减少数据库操作中的潜在错误。以下是对这个主题的详细阐述: 首先,...

    JDBC查询代码以Student实体类.zip

    本示例"JDBC查询代码以Student实体类.zip"提供了一个简单的JDBC查询应用,涉及到的关键知识点包括: 1. **JDBC驱动注册**:在Java程序中,我们需要通过`Class.forName()`方法加载并注册JDBC驱动。例如,对于MySQL,...

    jdbc 查询小界面

    标题中的“jdbc 查询小界面”指的是一个基于Java Swing开发的简单图形用户界面(GUI),用于执行SQL查询。这个应用程序利用了Java的Java Database Connectivity (JDBC) API来连接和操作数据库。JDBC是Java标准版...

    使用 JDBC 查询数据库

    使用 JDBC 查询数据库, 支持四种数据库 : DB2, Netezza, SQL Server, Oracle. 查询所得的数据将存放于 XML 内, 让让应用可以依要求从 XML 内取得所需的数据.

    JDBC查询(对MySQL中的数据)

    用于对MySQL中的数据进行查询,主要内容是查询的大致框架和方法,自己理解再根据自己的实际情况进行查询

    一个简单的JDBC查询工具,支持Windows、Linux、Mac操作系统运行,人大金仓MAC客户端

    一个简单的JDBC查询工具,支持Windows、Linux、Mac操作系统运行,依赖JAVA1.8+运行环境,下载后解压即可使用 (项目实施时可应急使用,比敲命令行强点,支持MAC端访问人大金仓数据库) 运行: Windows环境运行 ./...

    查询系统JDBC+struts2

    标题中的“查询系统JDBC+Struts2”指的是一个基于Java技术栈的Web应用程序,它利用JDBC(Java Database Connectivity)进行数据访问,并结合Struts2框架来处理用户请求和展示结果。这样的系统通常用于实现数据库查询...

    Java使用Jdbc连接Oracle执行简单查询操作示例

    Java使用Jdbc连接Oracle执行简单查询操作示例 Java使用Jdbc连接Oracle执行简单查询操作,是指使用Java语言通过Jdbc(Java Database Connectivity)连接Oracle数据库并执行简单查询操作的过程。本文将通过实例形式...

    JDBC查询返回数据集一直为空,明明数据库(MySQL)有数据的解决办法

    通过以上步骤,应该能解决JDBC查询返回空数据集的问题。在编程过程中,对字符编码的重视是避免此类问题的关键,因为不同的编码会导致数据的丢失或乱码,从而影响程序的正常运行。在进行跨平台或国际化开发时,对字符...

    jdbc查询金仓数据库KingBaseES数据时间多8个小时问题分析.pdf

    jdbc查询金仓数据库KingBaseES数据时间多8个小时问题分析.pdf

    javajdbc宠物商店-Mysql数据库_Java项目jdbc_java宠物项目_数据库代码_

    在Java编程领域,JDBC(Java Database Connectivity)是连接Java应用程序和关系型数据库的重要桥梁。本项目"javajdbc宠物商店-Mysql数据库"是基于Java JDBC实现的一个宠物商店管理系统的数据库部分,它提供了与MySQL...

    java 通过JDBC对数据库进行查询

    本篇将详细讲解如何使用JDBC对数据库进行查询。 首先,我们需要理解JDBC的基本工作流程,这通常包括以下步骤: 1. 加载驱动:在Java程序中,我们使用`Class.forName()`方法加载数据库驱动。例如,对于MySQL,我们...

    如何避免JDBC引起的内存溢出情况

    ### 如何避免JDBC引起的内存溢出情况 在日常的软件开发过程中,特别是在处理大量数据时,使用Java数据库连接(JDBC)进行数据库操作是非常常见的。然而,在处理大数据集时,如果不注意细节,很容易遇到内存溢出的...

    MySQL使用JDBC查询实例.pdf

    本示例展示了如何使用JDBC连接MySQL数据库并执行查询。以下是详细步骤和相关知识点: 1. **加载JDBC驱动程序**: 在Java程序中,我们首先需要加载特定数据库的JDBC驱动。这通常通过调用`Class.forName()`方法完成...

    Struts2 JDBC 增删改查

    JDBC(Java Database Connectivity)则是Java语言连接数据库的标准接口,用于执行SQL语句,实现对数据库的访问。在这个"Struts2 JDBC 增删改查"项目中,我们将探讨如何结合这两者来构建一个简单的数据管理应用。 ...

    多线程以JDBC的方式返回海量数据

    通过JDBC,我们可以执行SQL语句,查询、更新和管理数据库中的数据。然而,当数据量非常大时,一次性加载所有数据可能会导致内存溢出,降低应用程序性能。 为了解决这个问题,我们可以采用多线程技术。多线程允许...

    jdbc 读取表结构

    获取表的结构,无论是任何数据库,只要把驱动包加进去就可以了。

    java使用jdbc将数据库数据导出到csv文件.pdf

    Java 使用 JDBC 将数据库数据导出到 CSV 文件 Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出...

    java使用JDBC动态创建数据表及SQL预处理的方法

    该方法主要涉及到 JDBC 操作数据库的连接、创建表、添加数据、查询等相关实现技巧。 一、JDBC 操作数据库的连接 在使用 JDBC 操作数据库之前,需要首先连接数据库。连接数据库的步骤包括加载数据库驱动、建立连接...

Global site tag (gtag.js) - Google Analytics