根据数据表自动生成实体类、Mapper、Service、ServiceImpl、Controller
1、pom.xml中导入MybatisPlus Generator
【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项目的工作路径下即可).
4、使用时,不要忘记添加mapper扫描配置
5、进行测试
6、然后将controller、service、mapper进行层级调用即可
注意:service继承了IService,IService中跟BaseMapper一个样,都封装了好多的方法
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、配置视图层
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】