
pers.zr.opensource.magic.dao.action.Query Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of magic-dao Show documentation
Show all versions of magic-dao Show documentation
simplify to access database with java.
package pers.zr.opensource.magic.dao.action;
import pers.zr.opensource.magic.dao.constants.ActionMode;
import pers.zr.opensource.magic.dao.order.Order;
import pers.zr.opensource.magic.dao.page.Page;
import java.util.List;
/**
* Created by zhurong on 2016-4-28.
*/
public class Query extends ConditionalAction {
private List queryFields;
private Page page;
private List orders;
public void setQueryFields(List queryFields) {
this.queryFields = queryFields;
}
public void setPage(Page page) {
this.page = page;
}
public void setOrders(List orders) {
this.orders = orders;
}
@Override
public String getSql() {
if(null == sql) {
StringBuilder sqlBuilder = new StringBuilder();
String targetFieldsStr;
if(null!=queryFields && queryFields.size()>0) {
StringBuilder fieldsBuilder = new StringBuilder();
for(String field : queryFields) {
fieldsBuilder.append(field).append(",");
}
targetFieldsStr = fieldsBuilder.deleteCharAt(fieldsBuilder.lastIndexOf(",")).toString();
}else {
targetFieldsStr = "*";
}
sqlBuilder.append("SELECT ").append(targetFieldsStr).append(" FROM ")
.append(getRealTableName()).append(" ").append(getConSql());
//sort
if(null != orders && orders.size() > 0) {
sqlBuilder.append(" ORDER BY ");
for(Order order : orders) {
sqlBuilder.append(order.getColumn()).append(" ").append(order.getType()).append(", ");
}
sqlBuilder.deleteCharAt(sqlBuilder.lastIndexOf(","));
}
//paging
if(null != page) {
sqlBuilder.append("LIMIT ? OFFSET ? ");
}
this.sql = sqlBuilder.toString();
}
if (log.isDebugEnabled()) {
log.debug("### [ " + sql + "] ###");
}
return this.sql;
}
@Override
public Object[] getParams() {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy