⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jsourcecodewizardprocessorsql.java

📁 用免疫遗传算法解决TSP问题
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				out.println("  @param "+item.getType()+" "+item.getName()+"("+item.getTitle()+")");
			}
		}

		out.println("  @return 専嶕寢壥");
		out.println("  @throws SQLException");
		out.endComment();
		StringBuffer strbufFunction=new StringBuffer();
		strbufFunction.append("public static "+JSourceCodeWizardProcessor.getMyClassName(wizard,dataChannel)+" sqlSelect(java.sql.Connection conn");

		boolean isFirstFunctionDefKey=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				strbufFunction.append(","+WizType.getWizAlterType(item.getType())+" arg_"+item.getName());
			}
		}
		strbufFunction.append(")");
		out.println(strbufFunction.toString());
		out.println(1,"throws java.sql.SQLException");
		out.println("{");

		out.addIndent(1);

		StringBuffer strbufSql=new StringBuffer();
		strbufSql.append("java.sql.PreparedStatement stmt=conn.prepareStatement(");
		strbufSql.append("\"SELECT "+getColumnAll(vecItem)+" FROM "+dataChannel.getName()+" WHERE ");

		boolean isFirstPrimaryKey=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				if(isFirstPrimaryKey==false)
				{
					strbufSql.append(" AND ");
				}
				isFirstPrimaryKey=false;
				strbufSql.append(item.getName()+"=?");
			}
		}
		strbufSql.append("\");");
		out.println(strbufSql.toString());

		out.println("try{");
		out.addIndent(1);

		out.println("int iColumn=1;");

		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				item.writeSqlSetParam("arg_"+item.getName(),out);
			}
		}

		out.println("java.sql.ResultSet resultSet=stmt.executeQuery();");
		out.println("boolean isExist=resultSet.next();");
		out.println("if(isExist==false)return null;");
		out.println(JSourceCodeWizardProcessor.getMyClassName(wizard,dataChannel)+" data"+dataChannel.getName()+"=new "+JSourceCodeWizardProcessor.getMyClassName(wizard,dataChannel)+"();");
		out.println("data"+dataChannel.getName()+".parse(resultSet);");
		out.println("return data"+dataChannel.getName()+";");

		out.addIndent(-1);
		out.println("}finally{");
		out.println(1,"stmt.close();");
		out.println("}");

		out.addIndent(-1);
		out.println("}");
		out.addIndent(-1);
		out.println("");
	}

	public static final void writeSqlSelectWhere(
		JSourceCodeWizard wizard,JSourceCodeWizardChannel dataChannel,ArrayList vecItem,IndentWriter out)
		throws IOException
	{
		out.addIndent(1);

		out.beginComment();
		out.println(dataChannel.getName()+"("+dataChannel.getTitle()+") 偺DB昞専嶕 WHERE斉<BR>");
		out.println("");
		out.println("  @param Connection 愙懕僐僱僋僔儑儞");
		out.println("  @param String 忦審. null側傜僷儔儊乕僞柍偟");
		out.println("  @param Object[] 僷儔儊乕僞. null側傜僷儔儊乕僞柍偟");
		out.println("  @param String 僜乕僩弴. null側傜僜乕僩柍偟");
		out.println("  @return 専嶕寢壥");
		out.println("  @throws SQLException");
		out.endComment();
		out.println("public static java.sql.PreparedStatement sqlSelectWhereOrderBy(java.sql.Connection conn,String strWhere,Object[] params,String strOrderBy)");
		out.println(1,"throws java.sql.SQLException");
		out.println("{");

		out.addIndent(1);

		out.println("StringBuffer strbufSql=new StringBuffer();");
		out.println("strbufSql.append(\"SELECT "+getColumnAll(vecItem)+" FROM "+dataChannel.getName()+"\");");
		out.println("if(strWhere!=null && strWhere.length()>0)strbufSql.append(\" WHERE \"+strWhere);");
		out.println("if(strOrderBy!=null && strOrderBy.length()>0)strbufSql.append(\" ORDER BY \"+strOrderBy);");

		out.println("java.sql.PreparedStatement stmt=conn.prepareStatement(strbufSql.toString());");

		out.println("try{");
		out.addIndent(1);

		out.println("if(params!=null)for(int iColumn=0;iColumn<params.length;iColumn++)");
		out.println("{");
		out.addIndent(1);
		out.println("if(params[iColumn] instanceof String)");
		out.println("{");
		out.println(1,"stmt.setString(iColumn+1,(String)params[iColumn]);");
		out.println("}");
		out.println("else if(params[iColumn] instanceof Integer)");
		out.println("{");
		out.println(1,"stmt.setInt(iColumn+1,((Integer)params[iColumn]).intValue());");
		out.println("}");
		out.println("else if(params[iColumn] instanceof java.math.BigDecimal)");
		out.println("{");
		out.println(1,"stmt.setBigDecimal(iColumn+1,((java.math.BigDecimal)params[iColumn]));");
		out.println("}");
		out.addIndent(-1);
		out.println("}");

		out.addIndent(-1);
		out.println("}catch(java.sql.SQLException ex){");
		out.println(1,"stmt.close();");
		out.println(1,"throw ex;");
		out.println("}");

		out.println("return stmt;");


		out.addIndent(-1);
		out.println("}");
		out.addIndent(-1);
		out.println("");
	}

	public static final void writeSqlDelete(
		JSourceCodeWizard wizard,JSourceCodeWizardChannel dataChannel,ArrayList vecItem,IndentWriter out)
		throws IOException
	{
		out.addIndent(1);

		out.beginComment();
		out.println(dataChannel.getName()+"("+dataChannel.getTitle()+") 偺DB昞峴嶍彍<BR>");
		out.println("");
		out.println("  @param Connection 愙懕僐僱僋僔儑儞");
		out.println("  @return int 嶍彍幚峴寢壥審悢");
		out.println("  @throws SQLException");
		out.endComment();
		out.println("public int sqlDelete(java.sql.Connection conn)");
		out.println(1,"throws java.sql.SQLException");
		out.println("{");

		out.addIndent(1);

		StringBuffer strbufSql=new StringBuffer();
		strbufSql.append("java.sql.PreparedStatement stmt=conn.prepareStatement(");
		strbufSql.append("\"DELETE FROM "+dataChannel.getName()+" WHERE ");
		boolean isFirstPrimaryKey=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				if(isFirstPrimaryKey==false)
				{
					strbufSql.append(" AND ");
				}
				isFirstPrimaryKey=false;
				strbufSql.append(item.getName()+"=?");
			}
		}
		strbufSql.append("\");");

		out.println(strbufSql.toString());
		out.println("int iColumn=1;");

		out.println("try{");
		out.addIndent(1);

		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				item.writeSqlSetParam(null,out);
			}
		}


		out.println("return stmt.executeUpdate();");

		out.addIndent(-1);
		out.println("}finally{");
		out.println(1,"stmt.close();");
		out.println("}");

		out.addIndent(-1);
		out.println("}");
		out.addIndent(-1);
		out.println("");
	}

	public static final void writeSqlUpdate(
		JSourceCodeWizard wizard,JSourceCodeWizardChannel dataChannel,ArrayList vecItem,IndentWriter out)
		throws IOException
	{
		out.addIndent(1);

		out.beginComment();
		out.println(dataChannel.getName()+"("+dataChannel.getTitle()+") 偺DB昞峴峏怴<BR>");
		out.println("");
		out.println("  @param Connection 愙懕僐僱僋僔儑儞");
		out.println("  @return int 峏怴幚峴寢壥審悢");
		out.println("  @throws SQLException");
		out.endComment();
		out.println("public int sqlUpdate(java.sql.Connection conn)");
		out.println(1,"throws java.sql.SQLException");
		out.println("{");

		out.addIndent(1);

		StringBuffer strbufSql=new StringBuffer();
		strbufSql.append("java.sql.PreparedStatement stmt=conn.prepareStatement(");
		strbufSql.append("\"UPDATE "+dataChannel.getName()+" SET ");
		boolean isFirstNonPrimaryKey=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary()==false)
			{
				if(isFirstNonPrimaryKey==false)
				{
					strbufSql.append(",");
				}
				isFirstNonPrimaryKey=false;
				strbufSql.append(item.getName()+"=?");
			}
		}
		strbufSql.append(" WHERE ");
		boolean isFirstPrimaryKey=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				if(isFirstPrimaryKey==false)
				{
					strbufSql.append(" AND ");
				}
				isFirstPrimaryKey=false;
				strbufSql.append(item.getName()+"=?");
			}
		}
		strbufSql.append("\");");

		out.println(strbufSql.toString());

		out.println("try{");
		out.addIndent(1);

		out.println("int iColumn=1;");

		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary()==false)
			{
				item.writeSqlSetParam(null,out);
			}
		}
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				item.writeSqlSetParam(null,out);
			}
		}

		out.println("return stmt.executeUpdate();");

		out.addIndent(-1);
		out.println("}finally{");
		out.println(1,"stmt.close();");
		out.println("}");

		out.addIndent(-1);
		out.println("}");
		out.addIndent(-1);
		out.println("");
	}

	public static final void writeParse(
		JSourceCodeWizard wizard,JSourceCodeWizardChannel dataChannel,ArrayList vecItem,IndentWriter out)
		throws IOException
	{
		out.addIndent(1);

		out.beginComment();
		out.println(dataChannel.getName()+"("+dataChannel.getTitle()+") 偺ResultSet夝愅<BR>");
		out.println("");
		out.println("  @param ResultSet 慡崁栚偺専嶕寢壥");
		out.println("  @throws SQLException");
		out.endComment();
		out.println("public void parse(java.sql.ResultSet resultSet)");
		out.println(1,"throws java.sql.SQLException");
		out.println("{");

		out.addIndent(1);

		out.println("int iColumn=1;");

		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()==false)continue;
			item.writeSqlGetParam(out);
		}

		out.addIndent(-1);
		out.println("}");
		out.addIndent(-1);
		out.println("");
	}

	public static final String getColumnAll(ArrayList vecItem)
	{
		StringBuffer strbufColumnAll=new StringBuffer();
		boolean isFirstColumn=true;
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()==false)continue;
			if(isFirstColumn)
			{
				isFirstColumn=false;
			}
			else
			{
				strbufColumnAll.append(',');
			}
			strbufColumnAll.append(item.getName());
		}
		return strbufColumnAll.toString();
	}

	public static final String getPrimaryKey(ArrayList vecItem)
	{
		StringBuffer strbufPrimaryKey=new StringBuffer();
		for(int index=0;index<vecItem.size();index++)
		{
			JSourceCodeWizardField item=(JSourceCodeWizardField)vecItem.get(index);
			if(item.isAvailableSql()
			&& item.isPrimary())
			{
				if(strbufPrimaryKey.toString().length()>0)
				{
					strbufPrimaryKey.append(',');
				}

				strbufPrimaryKey.append(item.getName());
			}
		}
		return strbufPrimaryKey.toString();
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -