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;
}
}
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)-基础知识
上一篇:google zxing制作二维码
下一篇:Mysql报表查询实例(日报
[关闭]