![JAR search and dependency download from the Maven repository](/logo.png)
nbcp.myoql.code.generator.db.mysql.TableColumnDetail.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ktmyoql-code-generator Show documentation
Show all versions of ktmyoql-code-generator Show documentation
kotlin orm -- mysql,mongo , just like ktorm
The newest version!
package nbcp.myoql.code.generator.db.mysql
import nbcp.base.comm.config
import nbcp.base.extend.basicSame
import nbcp.base.utils.MyUtil
import nbcp.base.utils.StringUtil
import nbcp.myoql.code.generator.db.mysql.model.TableColumnMetaData
import nbcp.myoql.code.generator.removeQuoteContent
import nbcp.myoql.db.sql.enums.DbType
import org.springframework.beans.BeanUtils
/**
* 按 Freemarker 形式定义数据库表模型 。
*/
class TableColumnDetail : TableColumnMetaData() {
companion object {
fun loadFrom(column: TableColumnMetaData): TableColumnDetail {
var ret = TableColumnDetail();
BeanUtils.copyProperties(column, ret);
return ret;
}
}
/**
* 去除()标志的注释,用于生成 CRUD 前端页面表单的标题
*/
val labelComment: String
get() {
return this.columnComment.removeQuoteContent()
}
val fieldName: String
get() {
var name2 = this.columnName;
if (name2[0].isDigit()) {
name2 = "field_" + name2;
}
if (config.myoqlKeepDbName) {
return StringUtil.splitWordParts(name2).joinToString("_");
}
return StringUtil.getSmallCamelCase(name2);
}
var dbType = DbType.OTHER
val kotlinType: String
get() {
return this.dbType.toKotlinType()
}
val javaType: String
get() {
return this.dbType.javaType.typeName
}
val kotlinDefaultValue: String
get() {
return this.dbType.toKotlinDefaultValue()
}
val javaDefaultValue: String
get() {
if (this.dbType == DbType.BYTE) {
return "new byte[0]"
}
return this.dbType.toKotlinDefaultValue()
}
val autoId: Boolean
get() {
return this.columnComment.contains(Regex("\bauto_id\b", RegexOption.IGNORE_CASE))
}
val autoNumber: Boolean
get() {
return this.columnComment.contains(Regex("\bauto_number\b", RegexOption.IGNORE_CASE))
}
val isEnum: Boolean
get() {
return this.columnSqlType basicSame "enum";
}
val isEnumSet: Boolean
get() {
return this.columnSqlType basicSame "set"
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy