EasyCode Api
說明文檔:
屬性
$author 設置中的作者 java.lang.String
$encode 設置的編碼 java.lang.String
$modulePath 選中的module路徑 java.lang.String
$projectPath 項目絕對路徑 java.lang.String
對象
$tableInfo 表對象
obj 表原始對象 com.intellij.database.model.DasTable
name 表名(轉換後的首字母大寫)java.lang.String
comment 表註釋 java.lang.String
fullColumn 所有列 java.util.List<ColumnInfo>
pkColumn 主鍵列 java.util.List<ColumnInfo>
otherColumn 其他列 java.util.List<ColumnInfo>,除主鍵以外的列
savePackageName 保存的包名 java.lang.String
savePath 保存路徑 java.lang.String
saveModelName 保存的model名稱 java.lang.String
columnInfo 列對象
obj 列原始對象 com.intellij.database.model.DasColumn
name 列名(首字母小寫) java.lang.String
comment 列註釋 java.lang.String
type 列類型(類型全名) java.lang.String
shortType 列類型(短類型) java.lang.String
custom 是否附加列 java.lang.Boolean
ext 附加字段(Map類型) java.lang.Map<java.lang.String, java.lang.Object>
$tableInfoList java.util.List<TableInfo>所有選中的表
$importList 所有需要導入的包集合 java.util.Set<java.lang.String>
回調
&callback setFileName(String) 設置文件儲存名字
setSavePath(String) 設置文件儲存路徑,默認使用選中路徑
工具
$tool
firstUpperCase(String name) 首字母大寫方法
firstLowerCase(String name) 首字母小寫方法
getClsNameByFullName(String fullName) 通過包全名獲取類名
getJavaName(String name) 將下劃線分割字符串轉駝峯命名(屬性名)
getClassName(String name) 將下劃線分割字符串轉駝峯命名(類名)
hump2Underline(String str) 將駝峯字符串轉下劃線字符串
append(Object... objs) 多個數據進行拼接
newHashSet(Object... objs) 創建一個HashSet對象
newArrayList(Object... objs) 創建一個ArrayList對象
newLinkedHashMap() 創建一個LinkedHashMap()對象
newHashMap() 創建一個HashMap()對象
getField(Object obj, String fieldName) 獲取對象的屬性值,可以訪問任意修飾符修飾的屬性.配合debug方法使用.
call(Object... objs) 空白執行方法,用於調用某些方法時消除返回值
debug(Object obj) 調式方法,用於查詢對象結構.可查看對象所有屬性與public方法
serial() 隨機獲取序列化的UID
service(String serviceName, Object... param)遠程服務調用
parseJson(String) 將字符串轉Map對象
toJson(Object, Boolean) 將對象轉json對象,Boolean:是否格式化json,不填時爲不格式化。
toUnicode(String, Boolean) 將String轉換爲unicode形式,Boolean:是否轉換所有符號,不填時只轉換中文及中文符號。
$time
currTime(String format) 獲取當前時間,指定時間格式(默認:yyyy-MM-dd HH:mm:ss)
$generateService
run(String, Map<String,Object>) 代碼生成服務,參數1:模板名稱,參數2:附加參數。
MyBatisPlusDomain 配置
##引入宏定義
$!define
##使用宏定義設置回調(保存位置與文件後綴)
#save("/entity", ".java")
##使用宏定義設置包後綴
#setPackageSuffix("entity")
##使用全局變量實現默認包導入
$!autoImport
import java.io.Serializable;
import lombok.Data;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableName;
##使用宏定義實現類註釋信息
#tableComment("實體類")
@Data
@Accessors(chain = true)
@TableName("$tool.hump2Underline($tool.firstLowerCase(${tableInfo.name}))")
public class $!{tableInfo.name} implements Serializable {
private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
#if(${column.comment})/**
* ${column.comment}
*/#end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
MyBatisPlusMapper 配置
##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Mapper"))
##設置回調
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mapper"))
#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}mapper;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* $!{tableInfo.comment}($!{tableInfo.name})表數據庫訪問層
*
* @author $!author
* @since $!time.currTime()
*/
@Repository
public interface $!{tableName} extends BaseMapper<$!{tableInfo.name}> {
}