/**
* Copyright (c) 2011-2014, hubin (jobob@qq.com).
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.baomidou.mybatisplus.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.mapper.SqlRunner;
import com.baomidou.mybatisplus.toolkit.StringUtils;
/**
* <p>
* 查询字段
* </p>
*
* @author Caratacus
* @Date 2017-04-27
*/
public class Column implements Serializable {
private static final long serialVersionUID = 1L;
private static final String AS = " AS ";
/**
* 获取实例
*/
public static Column create() {
return new Column();
}
//转义
private boolean escape = true;
//字段
private String column;
//AS
private String as;
public String getColumn() {
return column;
}
public Column column(String column) {
this.column = column;
return this;
}
public String getAs() {
if (StringUtils.isEmpty(getColumn()) || StringUtils.isEmpty(as)) {
return StringUtils.EMPTY;
}
String quote = null;
if (isEscape() && SqlRunner.FACTORY != null) {
GlobalConfiguration globalConfig = GlobalConfiguration.getGlobalConfig(SqlRunner.FACTORY.getConfiguration());
quote = globalConfig.getIdentifierQuote() == null ? globalConfig.getDbType().getQuote() : globalConfig.getIdentifierQuote();
}
return AS + (StringUtils.isNotEmpty(quote) ? String.format(quote, as) : as);
}
public Column as(String as) {
this.as = as;
return this;
}
public boolean isEscape() {
return escape;
}
public void setEscape(boolean escape) {
this.escape = escape;
}
}