1.创建springboot工程,在resources目录的application.properties写入下面配置
#服务端口
server.port=8001
#服务名
spring.application.name=service-edu
#环境设置:dev、test、prod
spring.profiles.active=dev
# mysql数据库连接
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
#返回json的全局时间格式
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
#mybatis日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
2.引入依赖
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!--lombok用来简化实体类:需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
3、创建MP代码生成器,并执行即完成
在test/java目录下创建包com.chang.eduservice,创建代码生成器:CodeGenerator.java
package com.chang.demo;
import com.baomidou.mybatisplus.annotation.DbType;
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.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.Test;
/**
* @author
* @since 2018/12/13
*/
public class CodeGenerator {
@Test
public void test01() {
AutoGenerator mpg = new AutoGenerator(); // 1、创建代码生成器
GlobalConfig gc = new GlobalConfig();// 2、全局配置 String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java");
// 1. 生成代码放在哪,可在java处右键Copy Path
gc.setOutputDir("D:\\guli_parent02\\service\\service_edu\\src\\main\\java");
// 2. 作者名称
gc.setAuthor("小刚 testjava");
gc.setOpen(false); //生成后是否打开资源管理器,没什么用
gc.setFileOverride(false); //重新生成时文件是否覆盖,默认即可
// 3. 去掉Service接口的首字母I,本来是IUserService现在是UserService
gc.setServiceName("%sService");
// 4. 注意选择好============== 主键策略,IdType.ID_WORKER用于数据库表主键为Integer类型的,IdType.ID_WORKER_Str是用于数据库表主键为String类型的
gc.setIdType(IdType.ID_WORKER_STR);
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
gc.setSwagger2(true);//开启Swagger2模式
mpg.setGlobalConfig(gc);
DataSourceConfig dsc = new DataSourceConfig(); // 3、数据源配置
// 5. url
dsc.setUrl("jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
// 6. 用户名
dsc.setUsername("root");
// 7. 密码
dsc.setPassword("root");
// 8. 数据库类型
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
PackageConfig pc = new PackageConfig();//4、包配置
// 9.包名公共部分
pc.setParent("com.atguigu");
// 10. com.atguigu.edu
pc.setModuleName("edu"); //模块名
// 11.com.atguigu.controller
pc.setController("controller");
// 12 com.atguigu.entity
pc.setEntity("entity");
// 13 com.atguigu.service
pc.setService("service");
// 14 com.atguigu.mapper
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
StrategyConfig strategy = new StrategyConfig();// 5、策略配置
// 15 要生成的代码对应哪个表,多个表可以这样写 strategy.setInclude("edu_teacher","","","");
strategy.setInclude("edu_teacher");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
mpg.execute(); // 6、执行
}
}
4.创建配置类,扫描的dao层接口包名
@Component
@MapperScan("com.chang.edu.mapper")
public class EduConfig {
}
5.要在pom文件中加下面,以免启动类无法启动或者xml文件无法识别
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
6.可以在controller调用各种方法,至此即结束,其它方法在controller中的具体使用可参考这个博客其它文章
https://blog.csdn.net/weixin_46258873/article/details/114284286?spm=1001.2014.3001.5501
@RestController
@RequestMapping("/edu/teacher")
public class TeacherController {
@Autowired
private TeacherService teacherService;
@RequestMapping("/finalAll")
public List<Teacher> finalAllTeacher(){
return teacherService.list(null);
}
}
版权声明:本文为weixin_46258873原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。