新增房源服务实现之AutoGenerator使用以及创建pojo对象
生活随笔
收集整理的這篇文章主要介紹了
新增房源服务实现之AutoGenerator使用以及创建pojo对象
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package cn.learn.haoke.dubbo.server.pojo;import lombok.Data;import java.util.Date;@Data
public abstract class BasePojo implements java.io.Serializable {private Date created;private Date updated;}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>learn-haoke-manage-dubbo-server</artifactId><groupId>cn.learn.haoke.manage</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>learn-haoke-manage-dubbo-server-generator</artifactId><dependencies><!-- freemarker 模板引擎 --><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.28</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.0.5</version><optional>true</optional></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version><optional>true</optional></dependency></dependencies></project>
package cn.learn.haoke.generator;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class CodeGenerator {/*** <p>* 讀取控制臺內容* </p>*/public static String scanner(String tip) {Scanner scanner = new Scanner(System.in);StringBuilder help = new StringBuilder();help.append("請輸入" + tip + ":");System.out.println(help.toString());if (scanner.hasNext()) {String ipt = scanner.next();if (StringUtils.isNotEmpty(ipt)) {return ipt;}}throw new MybatisPlusException("請輸入正確的" + tip + "!");}public static void main(String[] args) {
// 代碼生成器AutoGenerator mpg = new AutoGenerator();
// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");gc.setOutputDir(projectPath + "/src/main/java");gc.setAuthor("learn");gc.setOpen(false);mpg.setGlobalConfig(gc);
// 數據源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/haoke?useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true");
// dsc.setSchemaName("public");dsc.setDriverName("com.mysql.jdbc.Driver");dsc.setUsername("root");dsc.setPassword("123456");mpg.setDataSource(dsc);
// 包配置PackageConfig pc = new PackageConfig();pc.setModuleName(scanner("模塊名"));pc.setParent("cn.learn.haoke.dubbo.server");mpg.setPackageInfo(pc);
// 自定義配置InjectionConfig cfg = new InjectionConfig() {@Overridepublic void initMap() {
// to do nothing}};List<FileOutConfig> focList = new ArrayList<>();focList.add(new FileOutConfig("/templates/mapper.xml.ftl") {@Overridepublic String outputFile(TableInfo tableInfo) {
// 自定義輸入文件名稱return projectPath + "/src/main/resources/mapper/" +pc.getModuleName()+ "/" + tableInfo.getEntityName() + "Mapper" +StringPool.DOT_XML;}});cfg.setFileOutConfigList(focList);mpg.setCfg(cfg);mpg.setTemplate(new TemplateConfig().setXml(null));
// 策略配置StrategyConfig strategy = new StrategyConfig();strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setSuperEntityClass("cn.learn.haoke.dubbo.server.pojo.BasePojo");strategy.setEntityLombokModel(true);strategy.setRestControllerStyle(true);
//strategy.setSuperControllerClass("com.baomidou.ant.common.BaseController");strategy.setInclude(scanner("表名"));strategy.setSuperEntityColumns("id");strategy.setControllerMappingHyphenStyle(true);strategy.setTablePrefix(pc.getModuleName() + "_");mpg.setStrategy(strategy);mpg.setTemplateEngine(new FreemarkerTemplateEngine());mpg.execute();}
}
package cn.learn.haoke.dubbo.server.pojo;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;import java.time.LocalDateTime;/*** <p>* 房源表* </p>** @author learn*/
@Data
@Accessors(chain = true)
@TableName("tb_house_resources")
public class HouseResources extends BasePojo {private static final long serialVersionUID = 779152022777511825L;@TableId(value = "id", type = IdType.AUTO)private Long id;/*** 房源標題*/private String title;/*** 樓盤id*/private Long estateId;/*** 樓號(棟)*/private String buildingNum;/*** 單元號*/private String buildingUnit;/*** 門牌號*/private String buildingFloorNum;/*** 租金*/private Integer rent;/*** 租賃方式,1-整租,2-合租*/private Integer rentMethod;/*** 支付方式,1-付一押一,2-付三押一,3-付六押一,4-年付押一,5-其它*/private Integer paymentMethod;/*** 戶型,如:2室1廳1衛*/private String houseType;/*** 建筑面積*/private String coveredArea;/*** 使用面積*/private String useArea;/*** 樓層,如:8/26*/private String floor;/*** 朝向:東、南、西、北*/private String orientation;/*** 裝修,1-精裝,2-簡裝,3-毛坯*/private Integer decoration;/*** 配套設施, 如:1,2,3*/private String facilities;/*** 圖片,最多5張*/private String pic;/*** 描述*/private String houseDesc;/*** 聯系人*/private String contact;/*** 手機號*/private String mobile;/*** 看房時間,1-上午,2-中午,3-下午,4-晚上,5-全天*/private Integer time;/*** 物業費*/private String propertyCost;}
?
總結
以上是生活随笔為你收集整理的新增房源服务实现之AutoGenerator使用以及创建pojo对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MybatisPlus入门Lombok的
- 下一篇: 新增房源服务实现之新增房源RESTful