`

SQL模板简单实用

阅读更多

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 SQLCommand
{
 private Connection conn;
 private String sqlVaule;
 private List values;
    /**
     *
     * */
 public void setConnection(Connection con)
 {
   this.conn=con;
 }
 /**
  * 设定SQL语句
  * **/
 public void setSqlValue(String sqlValue)
 {
  this.sqlVaule=sqlValue;
 }
 /*
  *
  * 设定SQL参数
  * **/
 public void setValues(List values)
 {
  this.values=values;
 }
 /**
  * 执行查询
  * @throws SQLException
  * @reutrn  Result对象
  * **/
 public  Result executeQuery() throws SQLException
 {
  Result  result=null;
  ResultSet rs=null;
  PreparedStatement prop=null;
  Statement stmt=null;
  try
  {
   
   
   if(values !=null  &&  values.size()>0)
   {
    prop=conn.prepareStatement(sqlVaule);
    setValues(prop,values);
    rs=prop.executeQuery();
   }
   else
   {
    stmt=conn.createStatement();
    rs=stmt.executeQuery(sqlVaule);
   }
   result=ResultSupport.toResult(rs);
  }
  finally
  {
   if(rs!=null)
   {
    rs.close();
   }
   if(stmt!=null)
   {
    stmt.close();
   }
   if(prop !=null)
   {
    prop.close();
   }
  }
  return result;
 }
 /**
  * 执行Update语句
  * @throws SQLException
  * */
 public int executeUpdate() throws SQLException
 {
  int noOfRows=0;
  ResultSet rs=null;
  PreparedStatement prop=null;
  Statement stmt=null;
  
  try
  {
   if(values!=null && values.size()>0)
   {
     prop=conn.prepareStatement(sqlVaule);
     setValues(prop,values);
     noOfRows=prop.executeUpdate();
   }
   else
   {
     stmt=conn.createStatement();
     noOfRows=stmt.executeUpdate(sqlVaule);
   }
  }
  finally
  {
   if(rs!=null)
     rs.close();
   if(stmt!=null)
    stmt.close();
   if(prop!=null)
    prop.close();
  }
  return noOfRows;
 }
 
 /**
  * 设定语句的参数
  * @param  PreparedStatement
  * @throws SQLException
  *
  * */
 public void setValues(PreparedStatement prop,List values) throws SQLException
 {
  for(int i=0;i<values.size();i++)
  {
   Object v=values.get(i);
   prop.setObject(i+1, v);
  }
 }
 
}

连接类:

import java.sql.*;

public class ConnectionManager
{
    private static String driverClassName="com.mysql.jdbc.Driver";
    private static String url="jdbc:mysql://localhost:3306/test";
    private static String username="root";
    private static String pwd="123456";
   
    public static Connection getConnection() throws SQLException
    {
     Connection con=null;
     try
     {
   Class.forName(driverClassName);
   con=DriverManager.getConnection(url,username,pwd);
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
     return con;
    }
}

测试类:

 public static void main(String args[])
   {
    try
    {
     SQLCommand command=new SQLCommand();
     command.setConnection(ConnectionManager.getConnection());
     command.setSqlValue("select * from apps");
     Result rs=command.executeQuery();
     if(rs ==null || rs.getRowCount() ==0)
     {
      System.out.println("no information!!");
     }
     else
     {
      int count=rs.getRowCount();
      System.out.println(count);
      for(int i=0;i<count;i++)
      {
       Map row=rs.getRows()[i];
       System.out.println(row.get("id"));
       System.out.println(row.get("name"));
      }
     }
    } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
    }
   }

 

分享到:
评论

相关推荐

    局域网查询SQL表数据工具,简单实用

    标题中的“局域网查询SQL表数据工具,简单实用”指的是一个专为IT专业人士设计的软件,用于在局域网环境中便捷地查询SQL Server数据库中的数据。这样的工具通常简化了传统数据库查询过程,使得用户无需复杂的SQL语句...

    简单的SQL连接客户端

    在IT领域,SQL(Structured ...总之,"简单的SQL连接客户端"是一个实用的工具,帮助用户便捷地管理SQL Server数据库,进行数据操作和分析。理解和掌握如何有效利用这样的客户端,对于提升数据库管理工作效率至关重要。

    Excel表结构生成Sql 脚本工具(ExcelToSql)

    ExcelToSql工具简化了这个过程,使得用户可以通过简单的Excel模板来定义表格结构,然后自动生成相应的CREATE TABLE SQL语句。 该工具的主要功能包括: 1. **解析Excel表格结构**:它能读取Excel文件中的列名和数据...

    sql server实用工具isqlw

    isqlw作为SQL Server 2000中的一个重要实用工具,为数据库管理员和开发者提供了一种简单有效的命令行解决方案。通过灵活运用isqlw的各种命令行参数,可以实现SQL语句的高效执行,极大地提升了数据库管理与维护的工作...

    自动生成SQL语句_C#_sql_

    还有一些专门用于生成SQL语句的库,如MySql.Data.SqlClient、Npgsql等,它们提供了一些高级功能,如SQL模板、查询构建器等,帮助开发者更方便地生成SQL语句。 总结,自动生成SQL语句在C#开发中是一项实用的技术,...

    万年老黄历sql数据文件

    描述部分提到,这个SQL数据文件经过了整理和优化,去除了不必要的连接和内容,以提供更干净、方便和实用的数据。这可能意味着原始数据源可能包含了一些冗余或不相关的链接,经过处理后,用户可以直接便捷地查询和...

    HEIDISQL工具!

    "SQL语句生成2.0正式版"的加入进一步提升了HEIDISQL的实用性,使SQL操作更加高效和智能化。无论是日常的数据维护还是项目开发,HEIDISQL都能成为不可或缺的工具。通过熟练掌握HEIDISQL,可以大大提高工作效率,为IT...

    简单实用的程序员简历模板

    【程序员简历模板】是IT行业中求职者展示自身技能和经验的一种标准格式,旨在高效地传达个人的专业能力。以下是对这份简历中所提及的关键知识点的详细解释: 1. **C#编程语言**: C#是.NET Framework的主要开发语言...

    简单实用手机微信WAP版网上商城HTML5网站模板.rar

    对用户输入进行验证,防止SQL注入等安全风险。 7. **性能优化**:对于移动设备,网页加载速度至关重要。优化可能包括图片压缩、代码压缩合并、缓存策略等,以提高页面加载速度和用户体验。 8. **测试与调试**:在...

    Go-proto-go-sql为Protobufs生成SQL扫描器和评估器实现

    - **SQL模板**:库提供了一种方式来定义SQL查询模板,这些模板可以包含占位符,它们将被替换为 Protobuf 消息的字段值。 - **类型映射**:并非所有Protobuf类型都与SQL类型直接对应。你需要确保在.proto文件中定义的...

    简单用户登录界面HTML模板.zip

    总的来说,"简单用户登录界面HTML模板"是一个基础但实用的开发资源,可以帮助初学者理解登录界面的构建,同时也为经验丰富的开发者提供了一个快速搭建原型的工具。通过深入学习和自定义,可以将其发展成满足特定项目...

    Sql Server数据库转换Word

    总的来说,将`Sql Server`数据库转换成Word文档是一个实用的技术,涉及到数据库连接、SQL查询、数据处理和文档生成等多个环节。通过学习和应用这一技术,IT专业人士可以更好地管理和共享数据库信息,提高工作效率。

    sql2005智能提示插件.rar(实现SQL快速开发)

    5. **代码模板**:内置常用的SQL模板,方便快速插入如SELECT、INSERT、UPDATE、DELETE等常见语句。 6. **免费版**:据描述,该插件是免费版,这意味着用户无需支付任何费用即可享用其功能,降低了开发成本。 在...

    简单的ASP留言版(SQL)

    此外,ASP还支持Server对象,它包含了服务器上的各种实用函数,如Server.MapPath,可以将URL转换为服务器上的物理路径。 【SQL Server数据库技术】 SQL Server是微软开发的企业级关系型数据库管理系统(RDBMS),...

    codesmith 模板集合+简单教程

    这个资源集合包含了多个实用的模板,涵盖了.net三层架构、Oracle数据导出、T-SQL存储过程等多个方面,为程序员提供了极大的便利。 一、.NET三层架构模板 .NET三层架构是软件设计中的常见模式,包括Model(模型)、...

    SQl邮件配置

    在探讨“SQL邮件配置”这一主题时,我们深入解析了SQL Server 2008中邮件功能的配置方法,这是一个非常实用且强大的功能,尤其对于那些需要自动化执行脚本、发送错误通知或定期报告的数据库管理员来说尤为重要。...

    C#学习模板-经典实用

    总的来说,"C#学习模板-经典实用"是一个全面的资源,适合想要入门或提升C#和SQL Server 2005技能的学习者。它提供了一个结构化的学习路径,帮助你扎实地掌握这两种技术,并能应用于实际项目开发中。无论你是准备进入...

    ssm简单框架模板

    总的来说,SSM框架模板是一个实用的工具,尤其对于初学者,它能够快速地引导你进入Java Web开发的世界,帮助你掌握SSM框架的使用和实践。通过实际操作,你将更深入地理解各组件间的协作,提升你的开发技能。

    blog.rar_asp blog sql_blog_简单 博客

    【标题】"blog.rar_asp blog sql_blog_...这个博客系统对初学者来说是很好的实践项目,可以深入理解ASP和SQL的结合应用,同时也可以作为更复杂系统的基础,逐步添加评论、分类、搜索等功能,提升系统的完整性和实用性。

Global site tag (gtag.js) - Google Analytics