28MybatisPlus自动生成+部署上线

根据数据表自动生成实体类、Mapper、Service、ServiceImpl、Controller

1、pom.xml中导入MybatisPlus Generator
28MybatisPlus自动生成+部署上线

【Velocity(默认)、Freemarker、Beetl都是可以的】

2、编写启动类

public class Main {
    public static void main(String[] args) {
        //创建generator对象
        AutoGenerator autoGenerator = new AutoGenerator();
        //数据源
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mp");
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUsername("root");
        dataSourceConfig.setPassword("2000820.");

        autoGenerator.setDataSource(dataSourceConfig);

        //全局配置
        GlobalConfig globalConfig = new GlobalConfig();

        //System.getProperty("user.dir")表示用户的当前工作目录
        globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
        globalConfig.setOpen(false);//false表示创建好文件后,不会自己打开
        globalConfig.setAuthor("daiqinghe");//设置作者的名字,不写的话默认为计算机的名字

        //定义包信息
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.study.springboot");//父包
        packageConfig.setModuleName("generator");//子包,创建的controller啥的都放在这里买呢
        //各种类型的包的包名
        packageConfig.setController("controller");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        packageConfig.setMapper("mapper");
        packageConfig.setEntity("entity");

        autoGenerator.setPackageInfo(packageConfig);


        //配置策略
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setEntityLombokModel(true);//自动使用lombok注解
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);//驼峰命名
        autoGenerator.setStrategy(strategyConfig);

        autoGenerator.execute();
        System.out.println(System.getProperty("user.dir"));
    }
}

3、启动后,生成响应的包
(我这里命名工作目录在F盘,生成时却不会在IDEA中直接生成包,而是在D盘生成响应的文件夹。猜测可能是IDEA安装目录和工作目录不一致的原因。直接把生成的文件夹,拷贝到IDEA项目的工作路径下即可).
28MybatisPlus自动生成+部署上线

4、使用时,不要忘记添加mapper扫描配置
28MybatisPlus自动生成+部署上线

5、进行测试
28MybatisPlus自动生成+部署上线

6、然后将controller、service、mapper进行层级调用即可
注意:service继承了IService,IService中跟BaseMapper一个样,都封装了好多的方法
28MybatisPlus自动生成+部署上线
mapper接口也继承了BaseMapper

7、编写controller

@Controller
@RequestMapping("/generator/product")
public class ProductController {
    @Autowired
    private IProductService productService;

    @GetMapping("/index")
    public ModelAndView index(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("index");
        modelAndView.addObject("list", productService.list());
        return modelAndView;
    }
}

8、配置视图层
28MybatisPlus自动生成+部署上线

9、编写视图层

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <table th:each="product:${list}">
        <td th:text="${product.category}"></td>
        <td th:text="${product.count}"></td>
        <td th:text="${product.description}"></td>
        <td th:text="${product.user_id}"></td>
    </table>
</body>
</html>

10、打包部署到阿里云
现在本地测试jar包是否可以正常运行
(1)通过xftp传到linux服务器
(2)通过xshell启动jar包运行
(3)在window上可以正常访问【注意修改localhost】

28MybatisPlus自动生成+部署上线

上一篇:18CRUD详解之selectBatchIds


下一篇:Window Ghosting