easycode配置成mybatis-plus模板的實現方法
本文主要介紹瞭easycode配置成mybatis-plus模板的實現方法,分享給大傢,具體如下:
entity.java
##導入宏定義 $!define ##保存文件(宏定義) #save("/entity", ".java") ##包路徑(宏定義) #setPackageSuffix("entity") ##自動導入包(全局變量) $!autoImport import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; import java.util.Date; ##表註釋(宏定義) #tableComment("表實體類") @Data @Builder @AllArgsConstructor @NoArgsConstructor @ApiModel("$!{tableInfo.comment}") public class $!{tableInfo.name} implements Serializable { private static final long serialVersionUID = $!tool.serial(); #foreach($column in $tableInfo.fullColumn) #if(${column.comment})/** * ${column.comment} */#end #if(${column.comment})@ApiModelProperty(value = "${column.comment}")#end #if($column.name.equals('id'))@TableId(type = IdType.AUTO)#end private $!{tool.getClsNameByFullName($column.type)} $!{column.name}; #end }
dao.java
##導入宏定義 $!define ##設置表後綴(宏定義) #setTableSuffix("Mapper") ##保存文件(宏定義) #save("/mapper", "Mapper.java") ##包路徑(宏定義) #setPackageSuffix("mapper") import com.baomidou.mybatisplus.core.mapper.BaseMapper; import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; ##表註釋(宏定義) #tableComment("表數據庫訪問層") public interface $!{tableName} extends BaseMapper<$!tableInfo.name> { }
server.java
##導入宏定義 $!define ##設置表後綴(宏定義) #setTableSuffix("Service") ##保存文件(宏定義) #save("/service", "Service.java") ##包路徑(宏定義) #setPackageSuffix("service") import com.baomidou.mybatisplus.extension.service.IService; import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; ##表註釋(宏定義) #tableComment("表服務接口") public interface $!{tableName} extends IService<$!tableInfo.name> { }
serverImpl.java
##導入宏定義 $!define ##設置表後綴(宏定義) #setTableSuffix("ServiceImpl") ##保存文件(宏定義) #save("/service/impl", "ServiceImpl.java") ##包路徑(宏定義) #setPackageSuffix("service.impl") import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}; import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper; import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; ##表註釋(宏定義) #tableComment("表服務實現類") @Slf4j @Service public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service { }
controller.java
##導入宏定義 $!define ##設置表後綴(宏定義) #setTableSuffix("Controller") ##保存文件(宏定義) #save("/controller", "Controller.java") ##包路徑(宏定義) #setPackageSuffix("controller") ##定義服務名 #set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service")) ##定義實體對象名 #set($entityName = $!tool.firstLowerCase($!tableInfo.name)) import $!{tableInfo.savePackageName}.entity.$!tableInfo.name; import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service; import io.swagger.annotations.ApiOperation; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.api.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.io.Serializable; import java.util.List; ##表註釋(宏定義) #tableComment("表控制層[不建議修改,如果有新增的方法,寫在子類中]") @RestController public class $!{tableName} { /** * 服務對象 */ @Autowired $!{tableInfo.name}Service $!{serviceName}; /** * 分頁查詢所有數據 * * @param page 分頁對象 * @param $!entityName 查詢實體 * @return 所有數據 */ @ApiOperation("分頁查詢所有數據") @GetMapping public R<IPage<$!tableInfo.name>> selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName) { return R.ok ($!{serviceName}.page(page, new QueryWrapper<>($!entityName))); } /** * 通過主鍵查詢單條數據 * * @param id 主鍵 * @return 單條數據 */ @ApiOperation("通過主鍵查詢單條數據") @GetMapping("{id}") public R<$!tableInfo.name> selectOne(@PathVariable Serializable id) { return R.ok($!{serviceName}.getById(id)); } /** * 新增數據 * * @param $!entityName 實體對象 * @return 新增結果 */ @ApiOperation("新增數據") @PostMapping public R<Long> insert(@RequestBody $!tableInfo.name $!entityName) { boolean rs = $!{serviceName}.save($!entityName); return R.ok(rs?$!{entityName}.getId():0); } /** * 修改數據 * * @param $!entityName 實體對象 * @return 修改結果 */ @ApiOperation("修改數據") @PutMapping public R<Boolean> update(@RequestBody $!tableInfo.name $!entityName) { return R.ok($!{serviceName}.updateById($!entityName)); } /** * 單條/批量刪除數據 * * @param idList 主鍵集合 * @return 刪除結果 */ @ApiOperation("單條/批量刪除數據") @DeleteMapping public R<Boolean> delete(@RequestParam("idList") List<Long> idList) { return R.ok($!{serviceName}.removeByIds(idList)); } }
mapper.xml
##引入mybatis支持 $!mybatisSupport ##設置保存名稱與保存位置 $!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.xml")) $!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper")) ##拿到主鍵 #if(!$tableInfo.pkColumn.isEmpty()) #set($pk = $tableInfo.pkColumn.get(0)) #end <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="$!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper"> <resultMap type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" id="$!{tableInfo.name}BaseResultMap"> #foreach($column in $tableInfo.fullColumn) <result property="$!column.name" column="$!column.obj.name"/> #end </resultMap> </mapper>
修改簽名
到此這篇關於easycode配置成mybatis-plus模板的實現方法的文章就介紹到這瞭,更多相關easycode配置成mybatis-plus模板內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- IDEA必備開發神器之EasyCode
- 使用 EasyCode生成springboot+mybatis基礎程序的實現示例
- Springboot Mybatis Plus自動生成工具類詳解代碼
- Mybatis-Plus如何配置分頁對象
- oracle+mybatis-plus+springboot實現分頁查詢的實例