📄 abstractsqlquery.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 + -