com.baomidou.mybatisplus.generator.config.querys.PostgreSqlQuery Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of mybatis-plus-generate Show documentation
Show all versions of mybatis-plus-generate Show documentation
An enhanced toolkit of Mybatis to simplify development.
/**
* Copyright (c) 2011-2020, hubin ([email protected]).
*
* 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
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.generator.config.querys;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
/**
*
* PostgreSql 表数据查询
*
*
* @author hubin
* @since 2018-01-16
*/
public class PostgreSqlQuery extends AbstractDbQuery {
@Override
public DbType dbType() {
return DbType.POSTGRE_SQL;
}
@Override
public String tablesSql() {
return "SELECT A.tablename, obj_description(relfilenode, 'pg_class') AS comments FROM pg_tables A, pg_class B WHERE A.schemaname='%s' AND A.tablename = B.relname";
}
@Override
public String tableFieldsSql() {
return "SELECT A.attname AS name, format_type(A.atttypid, A.atttypmod) AS type,col_description(A.attrelid, A.attnum) AS comment, (CASE C.contype WHEN 'p' THEN 'PRI' ELSE '' END) AS key " +
"FROM pg_attribute A LEFT JOIN pg_constraint C ON A.attnum = C.conkey[1] AND A.attrelid = C.conrelid " +
"WHERE A.attrelid = '%s.%s'::regclass AND A.attnum > 0 AND NOT A.attisdropped ORDER BY A.attnum";
}
@Override
public String tableName() {
return "tablename";
}
@Override
public String tableComment() {
return "comments";
}
@Override
public String fieldName() {
return "name";
}
@Override
public String fieldType() {
return "type";
}
@Override
public String fieldComment() {
return "comment";
}
@Override
public String fieldKey() {
return "key";
}
}