狼行天下2 - 代码生成

一.导入数据库


在navicat中新建的连接中,运行sql文件导入数据库

资料

二.导入代码生成插件

1.创建代码生成配置文件CodeGenerator.java

trip-core-site\src\main\java\com\example\CodeGenerator.java

package com.example;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
// mp代码生成器会根据表的结构自动生成对应的实体类entity,持久层mapper,服务层service,控制层controller
public class CodeGenerator {
    public static void main(String[] args) {
        AutoGenerator ag = new AutoGenerator();
        GlobalConfig gc = new GlobalConfig();
        String path = System.getProperty("user.dir");
        //文件生成类型及位置
        gc.setOutputDir(path+"/trip-core-site/src/main/java");//文件生成目录
        gc.setAuthor("lxtx");
        gc.setControllerName("%sController");//生成controller
        gc.setServiceName("I%sService");//生成service
        gc.setServiceImplName("%sServiceImpl");
        gc.setMapperName("%sMapper");//生成mapper
        gc.setBaseColumnList(true);
        gc.setBaseResultMap(true);
        gc.setIdType(IdType.AUTO);
        ag.setGlobalConfig(gc);

        PackageConfig pc = new PackageConfig();
        pc.setParent("com.example"); //项目包路径
        ag.setPackageInfo(pc);
        //mysql连接四要素
        DataSourceConfig dc = new DataSourceConfig();
        dc.setDriverName("com.mysql.jdbc.Driver");//mysql驱动
        dc.setUrl("jdbc:mysql://localhost:3306/wolf2w55");//数据库连接路径
        dc.setUsername("root");//用户名
        dc.setPassword("root");//密码
        ag.setDataSource(dc);

        StrategyConfig sc = new StrategyConfig();
        sc.setNaming(NamingStrategy.underline_to_camel);
        sc.setColumnNaming(NamingStrategy.underline_to_camel);

//        sc.setInclude("employee");//对照生成表,如果注释掉则生成数据库中所有表
        ag.setStrategy(sc);

        ag.execute();
    }
}

2.导入文件后,执行main函数,开始生成代码 

出现提示,生成成功

3.整理实体类

去掉所有实体类中的get,set,toString方法,使用注解生成,因为以后会对实体类进行属性扩展,使用注解可以自动将新字段的get/set/toString方法生成.

例如StrategyTheme类:

因为表设计的时候Strategy(攻略表)和StrategyContent(攻略内容表)使用的统一id关联,所以StrategyContent中id改为自增(AUTO)改为手动输入(INPUT);

游记表(Travel)和游记内容表(TravelContent)类似

4.移动mapper

将所有mapper.xml文件移动到 resources/com/example/mapper目录下

5.移动controller

此项目是分布式项目,controller应放在表现层(trip-mgr,trip-website-api)中,而不是公共服务层(trip-core)中

6.修改controller

因前台项目(trip-website)前端发送的是RESTful请求,所以后端需要将响应的结果封装JSON (@RestController),并且还需将controller父路径全部改为复数(只是前台项目trip-website-api,这是前端自己的问题,需适应前端)

userinfoController前端的请求路径是/users,需更改

其他controller就直接将@Controller改为@RestController并将请求路径修改成复数,这里拿BannerController为例

资料

链接:https://pan.baidu.com/s/1fQCdMrHcA6FP62jigbGZsQ?pwd=1234 
提取码:1234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值