package util;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
*
*/
/**
* @author Gaojingbo
*华为昆明数字经济学院-JAVA课程-高靖博 @Copy
*/
@SuppressWarnings({"rawtypes", "unchecked"})
public class Mybatis {
/**
* 域文件内容
* @param className
* @param list
* @param domainPackage
* @return
* @throws Exception
*/
public static String getDomainFile(String className, String table, List<Map> list, String domainPackage)throws Exception {
StringBuffer sbFile = new StringBuffer();
StringBuffer sbImport = new StringBuffer();
StringBuffer sbPerp = new StringBuffer();
StringBuffer sbGet = new StringBuffer();
StringBuffer sbSet = new StringBuffer();
Map mapImport = new HashMap();
for(Map map : list){
String colName = (String)map.get("COLUMN_NAME");
String[] dataType = getPropertyType(map);
sbPerp.append(" private ");
sbGet.append(" public ");
sbSet.append(" public void set"+ colName.substring(0,1).toUpperCase() + colName.substring(1) +"(");
if(dataType[0].equalsIgnoreCase("Date")){
mapImport.put("import java.util.Date;", "1");
sbPerp.append("Date");
sbGet.append("Date");
sbSet.append("Date");
}
else if(dataType[0].equalsIgnoreCase("Integer")){
sbPerp.append("Integer");
sbGet.append("Integer");
sbSet.append("Integer");
}
else if(dataType[0].equalsIgnoreCase("BigDecimal")){
mapImport.put("import java.math.BigDecimal;", "1");
sbPerp.append("BigDecimal");
sbGet.append("BigDecimal");
sbSet.append("BigDecimal");
}
else {
sbPerp.append("String");
sbGet.append("String");
sbSet.append("String");
}
sbPerp.append(" "+ colName +";\n");
sbGet.append(" get"+ colName.substring(0,1).toUpperCase() + colName.substring(1) +"() {\n");
sbGet.append(" return "+ colName +";\n");
sbGet.append(" }\n");
sbSet.append(" "+ colName +") {\n");
sbSet.append(" this."+ colName +" = "+ colName +";\n");
sbSet.append(" }\n");
}
Iterator it = mapImport.keySet().iterator();
while (it.hasNext()) {
String key = (String) it.next();
sbImport.append(key +"\n");
}
sbImport.append("import java.io.Serializable;\n");
sbFile.append("/**\n");
sbFile.append(" * @Copyright: 华为昆明数字经济学院-JAVA课程-高靖博 @Copy All rights reserved.\n");
sbFile.append(" */\n");
sbFile.append("package "+ domainPackage +";\n\n");
sbFile.append(sbImport);
sbFile.append("\n");
sbFile.append("import lombok.Data;\n");
//sbFile.append("import com.alibaba.druid.support.monitor.annotation.MTable;\n");
sbFile.append("\n");
//sbFile.append("@MTable(name = \""+table+"\")\n");
sbFile.append("@Data\n");
sbFile.append("public class "+ className +" implements Serializable {\n\n");
sbFile.append(" private static final long serialVersionUID = 1L;\n\n");
sbFile.append(sbPerp);
sbFile.append("\n");
sbFile.append(sbGet);
sbFile.append("\n");
sbFile.append(sbSet);
sbFile.append("}");
return sbFile.toString();
}
/**
* 域Example文件内容
* @param table
* @param list
* @param domainPackage
* @return
* @throws Exception
*/
public static String getDomainExampleFile(String table, List<Map> list, String domainPackage)throws Exception {
String className = getClassName(table);
Map mapImport = new HashMap();
StringBuffer sbFile = new StringBuffer();
StringBuffer sbCondition = new StringBuffer();
for(Map map : list){
// 生成条件语句
sbCondition.append(getConditions(map, " ", mapImport));
}
sbFile.append("/**\n");
sbFile.append(" * @Copyright: 华为昆明数字经济学院-JAVA课程-高靖博 @Copy All rights reserved.\n");
sbFile.append(" */\n");
sbFile.append("package "+ domainPackage +";\n\n");
sbFile.append("import java.util.ArrayList;\n");
sbFile.append("import java.util.List;\n");
sbFile.append("import java.util.Iterator;\n");
sbFile.append("import java.util.Date;\n");
Iterator it = mapImport.keySet().iterator();
while (it.hasNext()) {
String key = (String) it.next();
sbFile.append(key +"\n");
}
sbFile.append("\n");
sbFile.append("public class " + className + "Example {\n\n");
sbFile.append(" protected String orderByClause;\n\n");
sbFile.append(" protected boolean distinct;\n\n");
sbFile.append(" protected List<Criteria> oredCriteria;\n\n");
sbFile.append(" public " + className + "Example() {\n");
sbFile.append(" oredCriteria = new ArrayList<Criteria>();\n");
sbFile.append(" }\n\n");
sbFile.append(" public void setOrderByClause(String orderByClause) {\n");
sbFile.append(" this.orderByClause = orderByClause;\n");
sbFile.append(" }\n\n");
sbFile.append(" public String getOrderByClause() {\n");
sbFile.append(" return orderByClause;\n");
sbFile.append(" }\n\n");
sbFile.append(" public void setDistinct(boolean distinct) {\n");
sbFile.append(" this.distinct = distinct;\n");
sbFile.append(" }\n\n");
sbFile.append(" public boolean isDistinct() {\n");
sbFile.append(" return distinct;\n");
sbFile.append(" }\n");
sbFile.append(" public List<Criteria> getOredCriteria() {\n");
sbFile.append(" return oredCriteria;\n");
sbFile.append(" }\n\n");
sbFile.append(" public void or(Criteria criteria) {\n");
sbFile.append(" oredCriteria.add(criteria);\n");
sbFile.append(" }\n\n");
sbFile.append(" public Criteria or() {\n");
sbFile.append(" Criteria criteria = createCriteriaInternal();\n");
sbFile.append(" oredCriteria.add(criteria);\n");
sbFile.append(" return criteria;\n");
sbFile.append(" }\n\n");
sbFile.append(" public Criteria createCriteria() {\n");
sbFile.append(" Criteria criteria = createCriteriaInternal();\n");
sbFile.append(" if (oredCriteria.size() == 0) {\n");
sbFile.append(" oredCriteria.add(criteria);\n");
sbFile.append(" }\n");
sbFile.append(" return criteria;\n");
sbFile.append(" }\n\n");
sbFile.append(" protected Criteria createCriteriaInternal() {\n");
sbFile.append(" Criteria criteria = new Criteria();\n");
sbFile.append(" return criteria;\n");
sbFile.append(" }\n\n");
sbFile.append(" public void clear() {\n");
sbFile.append(" oredCriteria.clear();\n");
sbFile.append(" orderByClause = null;\n");
sbFile.append(" distinct = false;\n");
sbFile.append(" }\n\n");
sbFile.append(" protected abstract static class GeneratedCriteria {\n");
sbFile.append(" protected List<Criterion> cr
没有合适的资源?快使用搜索试试~ 我知道了~
MyBatis代码生成工具-MyBatisTool
共24个文件
java:6个
class:6个
xml:4个
需积分: 0 3 下载量 38 浏览量
2023-03-06
12:07:14
上传
评论
收藏 3.95MB ZIP 举报
温馨提示
mybatis代码生成工具包,课自动生成mapper接口、mapper.xmlsql映射文件、数据实体类DO以及Excample对象,提供开发和学习使用
资源推荐
资源详情
资源评论
收起资源包目录
MybatisTool.zip (24个子文件)
MybatisTool.iml 495B
lib
mybatis-3.0.4.jar 626KB
ojdbc14.jar 1.12MB
mysql-connector-java-8.0.21.jar 2.29MB
jdom.jar 150KB
src
Config.ini 698B
Generate.java 9KB
util
Common.java 934B
Thread1.java 2KB
Mybatis.java 43KB
DbAccess.java 2KB
Thread2.java 1KB
out
production
MybatisTool
Config.ini 698B
Generate.class 8KB
util
Thread2.class 3KB
Thread1.class 3KB
Common.class 1KB
Mybatis.class 32KB
DbAccess.class 3KB
.idea
libraries
lib.xml 266B
workspace.xml 2KB
misc.xml 278B
modules.xml 269B
.gitignore 184B
共 24 条
- 1
资源评论
神秘的高先生
- 粉丝: 3267
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功