Commit 1f4595d7 by flying-cattle

完善驼峰命名,注释,去掉过时的方法

parent fcbd61c8
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
*
* @Package: com.github.mybatis.fl.convert
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
......@@ -8,31 +7,29 @@
package com.github.mybatis.fl.convert;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: DateType.java
* @Description: 数据库时间类型 到 实体类时间类型 对应策略
*
* @version: v1.0.0
* @author: flying-cattle
* @date: 2019年4月9日 下午8:13:13
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.0.1 initialize
*/
* Copyright: Copyright (c) 2019
*
* <p>说明: 数据库时间类型 到 实体类时间类型 对应策略</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public enum DateType {
/**
* @Description: 只使用 java.util.date 代替
*
* <p>只使用 java.util.date 代替</p>
*/
ONLY_DATE,
/**
* @Description: 使用 java.sql 包下的
* <p>使用 java.sql 包下的</p>
*/
SQL_PACK,
/**
* @Description: 使用 java.time 包下的
* <p>使用 java.time 包下的</p>
* <p>java8 新的时间类型</p>
*/
TIME_PACK
......
......@@ -10,17 +10,15 @@ package com.github.mybatis.fl.convert;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: DbColumnType.java
* @Description: 表字段类型
*
* @version: v1.0.0
* <p>说明:表字段类型</p>
* @version: v2.1.0
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v1.0.0 initialize
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public enum DbColumnType implements IColumnType {
// 基本类型
......@@ -66,12 +64,12 @@ public enum DbColumnType implements IColumnType {
BIG_DECIMAL("BigDecimal", "java.math.BigDecimal");
/**
* 类型
* <p>类型</p>
*/
private final String type;
/**
* 包路径
* <p>包路径</p>
*/
private final String pkg;
......
......@@ -12,28 +12,25 @@ package com.github.mybatis.fl.convert;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: IColumnType.java
* @Description: 获取实体类字段属性类信息接口
*
* @version: v1.0.0
* <p>说明: 获取实体类字段属性类信息接口</p>
* @version: v2.1.0
* @author: flying-cattle
* @date: 2019年4月9日 下午8:09:35
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.0.1 initialize
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public interface IColumnType {
/**
* @Description: 获取字段类型
* <p>获取字段类型</p>
*
* @return 字段类型
*/
String getType();
/**
* @Description: 获取字段类型完整名
* <p> 获取字段类型完整名</p>
*
* @return 字段类型完整名
*/
......
......@@ -12,12 +12,9 @@ package com.github.mybatis.fl.convert;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: ITypeConvert.java
* @Description: 该类的功能描述
*
* <p>说明: 该类的功能描述</p>
* @version: v1.0.0
* @author: flying-cattle
* @date: 2019年4月9日 下午8:06:16
*
* Modification History:
* Date Author Version Description
......@@ -26,8 +23,7 @@ package com.github.mybatis.fl.convert;
*/
public interface ITypeConvert {
/**
* @Description: 执行类型转换
*
* <p>说明:执行类型转换</p>
* @param globalConfig 全局配置
* @param fieldType 字段类型
* @return ignore
......
......@@ -9,20 +9,17 @@ package com.github.mybatis.fl.convert;
import com.github.mybatis.fl.convert.ITypeConvert;
/**
* Copyright: Copyright (c) 2019
*
* @ClassName: MySqlTypeConvert.java
* @Description: MYSQL 数据库字段类型转换
*
* @version: v1.0.0
* @author: flying-cattle
* @date: 2019年4月9日 下午8:13:13
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.0.1 initialize
*/
* Copyright: Copyright (c) 2019
*
* <p>说明:MYSQL 数据库字段类型转换</p>
* @version: v1.0.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.0.1 initialize
*/
public class MySqlTypeConvert implements ITypeConvert {
@Override
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.entity
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.entity;
import java.io.Serializable;
......@@ -7,6 +13,18 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 自动生成需要的基本信息</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.entity
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.entity;
import java.io.Serializable;
......@@ -5,6 +11,18 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 自动生成文件路径</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.entity
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.entity;
import java.io.Serializable;
......@@ -6,6 +12,19 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 返回结果json对象</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.entity
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.entity;
import java.io.Serializable;
......@@ -6,6 +12,18 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 获取到数据库的信息</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.convert
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.test;
import java.sql.SQLException;
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.util
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.util;
import java.sql.Connection;
......@@ -10,7 +16,18 @@ import java.util.List;
import com.github.mybatis.fl.entity.BasisInfo;
import com.github.mybatis.fl.entity.PropertyInfo;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 链接数据库并获取表信息</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public class EntityInfoUtil {
public static BasisInfo getInfo(BasisInfo bi) throws SQLException {
List<PropertyInfo> columns= new ArrayList<PropertyInfo>();
......@@ -56,25 +73,4 @@ public class EntityInfoUtil {
con.close();
}
}
public static String getGeneratorFileUrl(String url,String packageUrl,String entityName, String type){
if (type.equals("entity")) {
return url+pageToUrl(packageUrl)+entityName+".java";
}else if(type.equals("dao")) {
return url+pageToUrl(packageUrl)+entityName+"Dao.java";
}else if(type.equals("daoImpl")) {
return url+pageToUrl(packageUrl)+entityName+"Mapper.xml";
}else if(type.equals("service")) {
return url+pageToUrl(packageUrl)+entityName+"Service.java";
}else if(type.equals("serviceImpl")) {
return url+pageToUrl(packageUrl)+entityName+"ServiceImpl.java";
}else if(type.equals("controller")) {
return url+pageToUrl(packageUrl)+entityName+"Controller.java";
}
return null;
}
public static String pageToUrl(String url) {
return url.replace(".", "/")+"/";
}
}
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.convert
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.util;
import java.io.File;
......@@ -10,6 +16,18 @@ import com.github.mybatis.fl.entity.JsonResult;
import freemarker.template.Configuration;
import freemarker.template.Template;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 创建文件</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public class FreemarkerUtil {
public static JsonResult createFile(BasisInfo dataModel, String templateName, String filePath) {
......@@ -18,7 +36,7 @@ public class FreemarkerUtil {
String fileName=dataModel.getEntityName()+messageStr(templateName);
try {
// 通过FreeMarker的Confuguration读取相应的模板文件
Configuration configuration = new Configuration();
Configuration configuration = new Configuration(Configuration.VERSION_2_3_28);
// 设置模板路径
configuration.setClassForTemplateLoading(FreemarkerUtil.class, "/freemarker/ftl");
// 设置默认字体
......
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.convert
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.util;
import java.util.List;
......@@ -6,6 +12,18 @@ import com.github.mybatis.fl.entity.BasisInfo;
import com.github.mybatis.fl.entity.JsonResult;
import com.github.mybatis.fl.entity.PropertyInfo;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 获取文件路径调用创建文件</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public class Generator {
//路径信息
public static final String ENTITY="entity";
......@@ -18,19 +36,19 @@ public class Generator {
//①创建实体类
public static JsonResult createEntity(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getEntityUrl(), bi.getEntityName(), ENTITY);
String fileUrl= getGeneratorFileUrl(url, bi.getEntityUrl(), bi.getEntityName(), ENTITY);
return FreemarkerUtil.createFile(bi, "entity.ftl", fileUrl);
}
//②创建DAO
public static JsonResult createDao(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getDaoUrl(), bi.getEntityName(), DAO);
String fileUrl= getGeneratorFileUrl(url, bi.getDaoUrl(), bi.getEntityName(), DAO);
return FreemarkerUtil.createFile(bi, "dao.ftl", fileUrl);
}
//③创建mapper配置文件
public static JsonResult createDaoImpl(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getMapperUrl(), bi.getEntityName(), DAO_IMPL);
String fileUrl= getGeneratorFileUrl(url, bi.getMapperUrl(), bi.getEntityName(), DAO_IMPL);
List<PropertyInfo> list=bi.getCis();
String agile="";
for (PropertyInfo propertyInfo : list) {
......@@ -43,19 +61,41 @@ public class Generator {
//④创建SERVICE
public static JsonResult createService(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getServiceUrl(), bi.getEntityName(), SERVICE);
String fileUrl= getGeneratorFileUrl(url, bi.getServiceUrl(), bi.getEntityName(), SERVICE);
return FreemarkerUtil.createFile(bi, "service.ftl", fileUrl);
}
//⑤创建SERVICE_IMPL
public static JsonResult createServiceImpl(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getServiceImplUrl(), bi.getEntityName(), SERVICE_IMPL);
String fileUrl= getGeneratorFileUrl(url, bi.getServiceImplUrl(), bi.getEntityName(), SERVICE_IMPL);
return FreemarkerUtil.createFile(bi, "serviceImpl.ftl", fileUrl);
}
//⑥创建CONTROLLER
public static JsonResult createController(String url,BasisInfo bi) {
String fileUrl= EntityInfoUtil.getGeneratorFileUrl(url, bi.getControllerUrl(), bi.getEntityName(), CONTROLLER);
String fileUrl= getGeneratorFileUrl(url, bi.getControllerUrl(), bi.getEntityName(), CONTROLLER);
return FreemarkerUtil.createFile(bi, "controller.ftl", fileUrl);
}
//生成文件
public static String getGeneratorFileUrl(String url,String packageUrl,String entityName, String type){
if (type.equals("entity")) {
return url+pageToUrl(packageUrl)+entityName+".java";
}else if(type.equals("dao")) {
return url+pageToUrl(packageUrl)+entityName+"Dao.java";
}else if(type.equals("daoImpl")) {
return url+pageToUrl(packageUrl)+entityName+"Mapper.xml";
}else if(type.equals("service")) {
return url+pageToUrl(packageUrl)+entityName+"Service.java";
}else if(type.equals("serviceImpl")) {
return url+pageToUrl(packageUrl)+entityName+"ServiceImpl.java";
}else if(type.equals("controller")) {
return url+pageToUrl(packageUrl)+entityName+"Controller.java";
}
return null;
}
public static String pageToUrl(String url) {
return url.replace(".", "/")+"/";
}
}
/**
* Copyright © 2019 dream horse Info. Tech Ltd. All rights reserved.
* @Package: com.github.mybatis.fl.util
* @author: flying-cattle
* @date: 2019年4月9日 下午8:15:25
*/
package com.github.mybatis.fl.util;
import com.github.mybatis.fl.convert.DateType;
import com.github.mybatis.fl.convert.MySqlTypeConvert;
/**
* Copyright: Copyright (c) 2019
*
* <p>说明: 获奖java中需要的驼峰命名</P>
* @version: v2.1.0
* @author: flying-cattle
*
* Modification History:
* Date Author Version Description
*---------------------------------------------------------------*
* 2019年4月9日 flying-cattle v2.1.0 initialize
*/
public class MySqlToJavaUtil {
/**
* <p>获取java类名</p>
*/
public static String getClassName(String table) {
table=changeToJavaFiled(table);
StringBuilder sbuilder = new StringBuilder();
......@@ -14,6 +34,9 @@ public class MySqlToJavaUtil {
return sbuilder.toString();
}
/**
* <p>获取字段名,把"_"后面字母变大写</p>
*/
public static String changeToJavaFiled(String field) {
String[] fields = field.split("_");
StringBuilder sbuilder = new StringBuilder(fields[0]);
......@@ -25,6 +48,9 @@ public class MySqlToJavaUtil {
return sbuilder.toString();
}
/**
* <p>把sql的数据类型转为java需要的类型</p>
*/
public static String jdbcTypeToJavaType(String sqlType) {
MySqlTypeConvert typeConvert= new MySqlTypeConvert();
return typeConvert.processTypeConvert(DateType.ONLY_DATE, sqlType).getType();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment