Mybatis-plus程式碼生成器的實現
在Mybatis-plus的環境基礎上做出如下改動:
新增依賴:
<!-- velocity 模板引擎, Mybatis Plus 程式碼生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
編寫程式碼生成(固定寫法複製修改引數即可):
public class CodeGenerator {
@Test
public void run() {
// 1、建立程式碼生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全域性配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir("D:\\intellij\\workspace\\online_edu\\service\\service_edu" + "/src/main/java"); //路徑
gc.setAuthor("作者");
gc.setOpen(false); //生成後是否開啟資源管理器
gc.setFileOverride(false); //重新生成時檔案是否覆蓋
//UserServie
gc.setServiceName("%sService"); //去掉Service介面的首字母I
gc.setIdType(IdType.ID_WORKER_STR); //主鍵策略
gc.setDateType(DateType.ONLY_DATE);//定義生成的實體類中日期型別
gc.setSwagger2(true);//開啟Swagger2模式
mpg.setGlobalConfig(gc);
// 3、資料來源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/online_edu?serverTimezone=GMT%2B8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("111111");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("eduservice"); //模組名
//包 com.zyw.eduservice
pc.setParent("com.zyw");
//包 com.zyw.eduservice.controller
pc.setController("controller");
pc.setEntity("entity");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
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);
// 6、執行
mpg.execute();
}
然後就幫我們自動建立了controller、entity、mapper、service。
在自動生成的程式碼中service繼承了IService,service實現類繼承了serviceImpl
public interface EduTeacherService extends IService {
}
@Service public class EduTeacherServiceImpl extends
ServiceImpl<EduTeacherMapper, EduTeacher> implements EduTeacherService
{}
ServiceImpl繼承了BaseMapper 並且實現了IService介面,這裡已經幫我們寫好了簡單的增刪查改,也就是對於簡單的操作可以直接呼叫,省去service編寫
public class ServiceImpl<M extends BaseMapper, T> implements IService
裡面的list方法就返回了selectList的集合
public List list(Wrapper queryWrapper) {
return this.baseMapper.selectList(queryWrapper);
}
只需要在controller直接呼叫就可以實現簡單查詢:
@Autowired
private EduTeacherService eduTeacherService;
@GetMapping("/findAll")
public List<EduTeacher> findAll(){
return eduTeacherService.list(null);
}
幫助到您請點贊關注收藏謝謝!!
相關文章
- MyBatis-Plus之程式碼生成器MyBatis
- SpringBoot整合MyBatis-Plus框架(程式碼生成器)Spring BootMyBatis框架
- Spring Boot使用Mybatis-plus和它的程式碼生成器Spring BootMyBatis
- MybatisPlus入門(十二)Mybatis-Plus 程式碼生成器MyBatis
- Mybatis自動程式碼生成器的實現MyBatis
- 實戰:一鍵生成前後端程式碼,Mybatis-Plus程式碼生成器讓我舒服了後端MyBatis
- MyBatis程式碼生成器的實用MyBatis
- JAVA實現編寫平臺程式碼生成器Java
- 還在寫CURD?試試這款基於mybatis-plus的springboot程式碼生成器MyBatisSpring Boot
- SpringBoot中幾種好用的程式碼生成器(基於Mybatis-plus生成entity、mapper、xml等)Spring BootMyBatisAPPXML
- mybatis-plus程式碼生成MyBatis
- MyBatis-Plus雪花演算法實現原始碼解析MyBatis演算法原始碼
- 程式碼生成器
- 七,MyBatis-Plus 擴充套件功能:樂觀鎖,程式碼生成器,執行SQL分析列印(實操詳細使用)MyBatis套件SQL
- MyBatis-Plus 實現多租戶管理的實踐MyBatis
- Laravel 程式碼生成器Laravel
- SpringBoot程式碼生成器Spring Boot
- MyBatis-Plus之邏輯刪除的實現MyBatis
- Shell指令碼實現Twitter的Snowflake演算法的ID生成器指令碼演算法
- go模板-程式碼生成器Go
- MyBatis Plus程式碼生成器MyBatis
- python是如何實現生成器的Python
- 「gRPC」 Gateway的實現程式碼RPCGateway
- Tomcat程式碼實現Tomcat
- Promise 程式碼實現Promise
- beego 程式碼自動生成器Go
- OutputStreamWriter介紹&程式碼實現和InputStreamReader介紹&程式碼實現
- Locust 程式碼指令碼實現指令碼
- SpringAOE的程式碼實現(未完工)Spring
- RxJS的另外四種實現方式(五)——使用生成器實現JS
- 寫一個簡單的程式碼生成器
- SpringBoot程式碼生成器,從此不用手擼程式碼Spring Boot
- Linklist程式碼實現以及程式碼解讀
- JNPF低程式碼開發框架程式碼 生成器設計框架
- mybatis_plus程式碼生成器類MyBatis
- Cruddiy:無程式碼Bootstrap CRUD生成器boot
- 動軟程式碼生成器學習
- java程式碼生成器(controller,service,mapper)JavaControllerAPP