1. 程式人生 > >ruoyi後臺管理系統分析(四)

ruoyi後臺管理系統分析(四)

四、generator包

--domain包

ColumnInfo.java------資料庫表列資訊
package com.ruoyi.generator.domain;

/**
 * ry資料庫表列資訊
 * 
 * @author ruoyi
 */
public class ColumnInfo
{
    /** 欄位名稱 */
    private String columnName;

    /** 欄位型別 */
    private String dataType;

    /** 列描述 */
    private String columnComment;

    
/** Java屬性型別 */ private String attrType; /** Java屬性名稱(第一個字母大寫),如:user_name => UserName */ private String attrName; /** Java屬性名稱(第一個字母小寫),如:user_name => userName */ private String attrname; public String getColumnName() { return columnName; } public void
setColumnName(String columnName) { this.columnName = columnName; } public String getDataType() { return dataType; } public void setDataType(String dataType) { this.dataType = dataType; } public String getColumnComment() { return
columnComment; } public void setColumnComment(String columnComment) { this.columnComment = columnComment; } public String getAttrName() { return attrName; } public void setAttrName(String attrName) { this.attrName = attrName; } public String getAttrname() { return attrname; } public void setAttrname(String attrname) { this.attrname = attrname; } public String getAttrType() { return attrType; } public void setAttrType(String attrType) { this.attrType = attrType; } }
View Code
TableInfo.java------資料庫表
package com.ruoyi.generator.domain;

import java.util.List;
import com.ruoyi.common.base.BaseEntity;
import com.ruoyi.common.utils.StringUtils;

/**
 * ry 資料庫表
 * 
 * @author ruoyi
 */
public class TableInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 表名稱 */
    private String tableName;

    /** 表描述 */
    private String tableComment;

    /** 表的主鍵列資訊 */
    private ColumnInfo primaryKey;

    /** 表的列名(不包含主鍵) */
    private List<ColumnInfo> columns;

    /** 類名(第一個字母大寫) */
    private String className;

    /** 類名(第一個字母小寫) */
    private String classname;

    public String getTableName()
    {
        return tableName;
    }

    public void setTableName(String tableName)
    {
        this.tableName = tableName;
    }

    public String getTableComment()
    {
        return tableComment;
    }

    public void setTableComment(String tableComment)
    {
        this.tableComment = tableComment;
    }

    public List<ColumnInfo> getColumns()
    {
        return columns;
    }

    public ColumnInfo getColumnsLast()
    {
        ColumnInfo columnInfo = null;
        if (StringUtils.isNotNull(columns) && columns.size() > 0)
        {
            columnInfo = columns.get(0);
        }
        return columnInfo;
    }

    public void setColumns(List<ColumnInfo> columns)
    {
        this.columns = columns;
    }

    public String getClassName()
    {
        return className;
    }

    public void setClassName(String className)
    {
        this.className = className;
    }

    public String getClassname()
    {
        return classname;
    }

    public void setClassname(String classname)
    {
        this.classname = classname;
    }

    public ColumnInfo getPrimaryKey()
    {
        return primaryKey;
    }

    public void setPrimaryKey(ColumnInfo primaryKey)
    {
        this.primaryKey = primaryKey;
    }
}
View Code
--mapper包

GenMapper.java-----程式碼生成 資料層
package com.ruoyi.generator.mapper;

import java.util.List;
import com.ruoyi.generator.domain.ColumnInfo;
import com.ruoyi.generator.domain.TableInfo;

/**
 * 程式碼生成 資料層
 * 
 * @author ruoyi
 */
public interface GenMapper
{
    /**
     * 查詢ry資料庫表資訊
     * 
     * @param tableInfo 表資訊
     * @return 資料庫表列表
     */
    public List<TableInfo> selectTableList(TableInfo tableInfo);

    /**
     * 根據表名稱查詢資訊
     * 
     * @param tableName 表名稱
     * @return 表資訊
     */
    public TableInfo selectTableByName(String tableName);

    /**
     * 根據表名稱查詢列資訊
     * 
     * @param tableName 表名稱
     * @return 列資訊
     */
    public List<ColumnInfo> selectTableColumnsByName(String tableName);
}
View Code

--service包

IGenService.java----程式碼生成 服務層
package com.ruoyi.generator.service;

import java.util.List;
import com.ruoyi.generator.domain.TableInfo;

/**
 * 程式碼生成 服務層
 * 
 * @author ruoyi
 */
public interface IGenService
{
    /**
     * 查詢ry資料庫表資訊
     * 
     * @param tableInfo 表資訊
     * @return 資料庫表列表
     */
    public List<TableInfo> selectTableList(TableInfo tableInfo);

    /**
     * 生成程式碼
     * 
     * @param tableName 表名稱
     * @return 資料
     */
    public byte[] generatorCode(String tableName);

    /**
     * 批量生成程式碼
     * 
     * @param tableNames 表陣列
     * @return 資料
     */
    public byte[] generatorCode(String[] tableNames);
}
View Code

---------impl包

 GenServiceImpl.java----程式碼生成  服務層處理