`

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动态创建数据表及SQL预处理的方法

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

    JDBC实现Oracle数据库的增删改查

    在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一套标准API。本教程将深入探讨如何使用JDBC实现对Oracle数据库的增、删、改、查操作。 首先,我们需要理解JDBC的基本组件和工作...

Global site tag (gtag.js) - Google Analytics