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

📄 abstractsqlquery.java

📁  EasyDBO是一个超轻量级对象-关系映射(Object/Relation Mapping
💻 JAVA
字号:
package com.easyjf.dbo.sql;

import java.util.Iterator;

import com.easyjf.dbo.DBField;
import com.easyjf.dbo.DBObject;

public abstract class AbstractSqlQuery implements ISqlQuery {
	public String getRowCountSql(String sql) {
		StringBuffer s = new StringBuffer();
		if (sql == null) {
			return "";
		}
		String s1 = sql.toLowerCase();
		if (s1.indexOf("order by") > 0) {
			s1 = s1.substring(0, s1.toLowerCase().indexOf("order by"));
		}
		s.append("select count(*)");
		s.append(s1.substring(s1.indexOf(" from ")));
		return s.toString();
	}



	public String getInsertSql(DBObject obj) {
		StringBuffer s = new StringBuffer();
		if (obj.getValue() == null) {
			return "";
		}
		s.append("insert into " + obj.getTable().getName());
		Iterator it = obj.getValue().keySet().iterator();
		int paraNum = 0;
		if (it != null) {
			s.append("(");
			while (it.hasNext()) {
				paraNum++;
				String field = (String) it.next();
				s.append(field);
				if (it.hasNext()) {
					s.append(",");
				}
			}
			s.append(")");
		}
		if (paraNum > 0) {
			s.append(" values(");
			for (int i = 0; i < paraNum; i++) {
				s.append("?");
				if (i < paraNum - 1) {
					s.append(",");
				}
			}
			s.append(")");
		}
		return s.toString();
	}

	public String getUpdateSql(DBObject obj) {
		StringBuffer s = new StringBuffer();
		if (obj.getValue() == null) {
			return "";
		}
		String id = obj.getTable().getId();
		if (obj.getIdValue() == null) {
			return "";
		}
		s.append("update " + obj.getTable().getName());
		Iterator it = obj.getValue().keySet().iterator();
		if (it != null) {
			s.append(" set ");
			while (it.hasNext()) {
				String field = (String) it.next();
				if (!field.equals(id)) {
					s.append(field + "=?");
					s.append(",");
				}
			}
			s.deleteCharAt(s.length() - 1);
			s.append(" where " + id + "=?");
		}
		return s.toString();
	}

	public String getDelSql(DBObject obj) {
		StringBuffer s = new StringBuffer();
		if (obj.getValue() == null) {
			return "";
		}
		String id = obj.getTable().getId();
		if (obj.getIdValue() == null) {
			return "";
		}
		s.append("delete from " + obj.getTable().getName());
		s.append(" where " + id + "=?");
		return s.toString();
	}

	public String getQuerySql(DBObject obj) {
		StringBuffer s = new StringBuffer();
		if (obj.getTable() == null) {
			return "";
		}
		String id = obj.getTable().getId();
		if (obj.getValue() != null) {
			Iterator it = obj.getValue().keySet().iterator();
			if (it != null) {
				s.append("select ");
				while (it.hasNext()) {
					String field = (String) it.next();
					s.append(field);
					if (it.hasNext()) {
						s.append(",");
					}
				}				
			}
		} else {
			s.append("select *");
			/*
			Iterator it=obj.getTable().getFields().values().iterator();
			if (it != null) {
				s.append("select ");
			while (it.hasNext()) {
			DBField field=(DBField)it.next();			
			if(!field.isLazy()){
			s.append(field.getName());			
				s.append(",");		
			}
			}			
			it=obj.getTable().getClassField().values().iterator();
			while (it.hasNext()) {
				DBField field=(DBField)it.next();				
				if(com.easyjf.dbo.ManyToOneField.class!=field.getClass() && (com.easyjf.dbo.ManyToManyField.class!=field.getClass()))
				{				
				s.append(field.getName());
				s.append(",");
				}
				}	
			}*/
		}
		if(s.toString().endsWith(","))s.deleteCharAt(s.length()-1);
		s.append(" from " + obj.getTable().getName());
		s.append(" where " + id + "=?");
		return s.toString();

	}

	public String getQuerySql(DBObject obj, String scope) {
		StringBuffer s = new StringBuffer();
		// System.out.println("test");
		if (obj.getTable() == null) {
			return "";
		}
		// String id=obj.getTable().getId();
		if (obj.getValue() != null) {
			Iterator it = obj.getValue().keySet().iterator();
			if (it != null) {
				s.append("select ");
				while (it.hasNext()) {
					String field = (String) it.next();
					s.append(field);
					if (it.hasNext()) {
						s.append(",");
					}
				}				
			}
		} else {
			s.append("select * ");
			/*
			Iterator it=obj.getTable().getFields().values().iterator();
			if (it != null) {
				s.append("select ");
			while (it.hasNext()) {
			DBField field=(DBField)it.next();			
			if(!field.isLazy()){
			s.append(field.getName());			
				s.append(",");	}	
			}			
			it=obj.getTable().getClassField().values().iterator();
			while (it.hasNext()) {
				DBField field=(DBField)it.next();				
				if(com.easyjf.dbo.ManyToOneField.class!=field.getClass()&& (com.easyjf.dbo.ManyToManyField.class!=field.getClass()))
				{				
				s.append(field.getName());
				s.append(",");
				}
				}	
			}*/
			
		}
		if(s.toString().endsWith(","))s.deleteCharAt(s.length()-1);
		s.append(" from " + obj.getTable().getName());
		s.append(" where " + scope);
		return s.toString();
	}	
}

⌨️ 快捷键说明

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