教程集 www.jiaochengji.com
教程集 >  脚本编程  >  Jsp  >  正文 jsp自动拼接SQL语句实例

jsp自动拼接SQL语句实例

发布时间:2015-10-01   编辑:jiaochengji.com
本文介绍了jsp编程中,自动拼接sql语句的例子,有需要的朋友参考下。

例子,自动拼接sql语句的代码。
 

复制代码 代码示例:
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
 
/**
 * @author QuarterLifeForJava
 */ 
public class Test{ 
 
    public static void main(String[] args) { 
        System.out.println(testPrintSQL("H002",12,1009)); 
        String sql = "SELECT rat.id,rat.sName,rat.dApplyDate,rat.tiRestType,rat.dStartDate,rat.dEndDate,rat.fInterval "+ 
                 "FROM restapplytbl rat "+ 
                 "WHERE rat.id IN"+ 
                 "("+ 
                 "  SELECT rt.iRestApplyId "+ 
                 "  FROM restprocesstbl rt "+ 
                 "  WHERE rt.id IN"+ 
                 "  ("+ 
                 "      SELECT pmt.smissionid "+ 
                 "      FROM pendingmissiontbl pmt "+ 
                 "      WHERE pmt.imissionkindid=?"+ 
                 "      AND pmt.imissionkinddetailsid=?"+ 
                 "      AND pmt.smissionexecutor=?"+ 
                 "  )"+ 
                 ")"; 
        String worknum = "H002"; 
        int missionKindId = 12; 
        int missionKindDetailsId = 1009; 
        //顺序要对好 
        Object obj[] = new Object[]{missionKindId,missionKindDetailsId,worknum};  
        System.out.println(createSql(sql,obj)); 
    } 
 
    //简单自动拼接SQL语句 
    public static String createSql(String sql, Object pargams[]) { 
        for (int i = 0; i < pargams.length; i++) { 
            Pattern p = Pattern.compile("\\?"); 
            Matcher m = p.matcher(sql); 
            if (pargams[i] instanceof Integer) { 
                sql = m.replaceFirst(String.valueOf((int) pargams[i])); 
            } else if (pargams[i] instanceof Long) { 
                sql = m.replaceFirst(String.valueOf((Long) pargams[i])); 
            } else if (pargams[i] instanceof Float) { 
                sql = m.replaceFirst(String.valueOf((Float) pargams[i])); 
            } else if (pargams[i] instanceof Double) { 
                sql = m.replaceFirst(String.valueOf((Double) pargams[i])); 
            } else { 
                sql = m.replaceFirst("'" + (String) pargams[i] + "'"); 
            } 
        } 
        return sql; 
    } 
     
    //简单示例 
    public static String testPrintSQL(String worknum, int missionKindId,int missionKindDetailsId){ 
        String sql = "SELECT rat.id,rat.sName,rat.dApplyDate,rat.tiRestType,rat.dStartDate,rat.dEndDate,rat.fInterval "+ 
                     "FROM restapplytbl rat "+ 
                     "WHERE rat.id IN"+ 
                     "("+ 
                     "  SELECT rt.iRestApplyId "+ 
                     "  FROM restprocesstbl rt "+ 
                     "  WHERE rt.id IN"+ 
                     "  ("+ 
                     "      SELECT pmt.smissionid "+ 
                     "      FROM pendingmissiontbl pmt "+ 
                     "      WHERE pmt.imissionkindid="+missionKindId+ 
                     "      AND pmt.imissionkinddetailsid="+missionKindDetailsId+ 
                     "      AND pmt.smissionexecutor="+"'"+worknum+"'"+ 
                     "  )"+ 
                     ")"; 
        return sql; 
    } 

您可能感兴趣的文章:
jsp自动拼接SQL语句实例
php实现数据库链式查询的简单例子
JSP常见问题
【七天从零实现ORM框架】Day02:database/sql基础
Java数据库编程中的几个常用技巧
1、java数据库操作基本流程
java 数据库基本操作
servlet与jsp基础教程(12)-脚本元素、指令和预定义变量
servlet与jsp基础教程(11)-JSP及语法概要
JSP入门教程(1)-基础知识

关键词: sql语句   
[关闭]
~ ~