mirror of https://gitee.com/makejava/EasyCode.git
Merge pull request #42 from peter17ji/master
default新增两个超实用方法,新增“全都要”模板MybatisPlus-Mixed
This commit is contained in:
commit
b1e9fd98f3
|
@ -57,6 +57,22 @@ public interface $!{tableName} {
|
||||||
*/
|
*/
|
||||||
int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
|
int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<$!{tableInfo.name}> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertBatch(@Param("entities") List<$!{tableInfo.name}> entities);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<$!{tableInfo.name}> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertOrUpdateBatch(@Param("entities") List<$!{tableInfo.name}> entities);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改数据
|
* 修改数据
|
||||||
*
|
*
|
||||||
|
@ -73,4 +89,4 @@ public interface $!{tableName} {
|
||||||
*/
|
*/
|
||||||
int deleteById($!pk.shortType $!pk.name);
|
int deleteById($!pk.shortType $!pk.name);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,6 +59,24 @@ $!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))
|
||||||
values (#foreach($column in $tableInfo.otherColumn)#{$!{column.name}}#if($velocityHasNext), #end#end)
|
values (#foreach($column in $tableInfo.otherColumn)#{$!{column.name}}#if($velocityHasNext), #end#end)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertBatch" keyProperty="$!pk.name" useGeneratedKeys="true">
|
||||||
|
insert into $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#foreach($column in $tableInfo.otherColumn)#{entity.$!{column.name}}#if($velocityHasNext), #end#end)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertOrUpdateBatch" keyProperty="$!pk.name" useGeneratedKeys="true">
|
||||||
|
insert into $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#foreach($column in $tableInfo.otherColumn)#{entity.$!{column.name}}#if($velocityHasNext), #end#end)
|
||||||
|
</foreach>
|
||||||
|
on duplicate key update
|
||||||
|
#foreach($column in $tableInfo.otherColumn)$!column.obj.name = values($!column.obj.name) #if($velocityHasNext), #end#end
|
||||||
|
</insert>
|
||||||
|
|
||||||
<!--通过主键修改数据-->
|
<!--通过主键修改数据-->
|
||||||
<update id="update">
|
<update id="update">
|
||||||
update $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
|
update $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}
|
||||||
|
@ -77,4 +95,4 @@ $!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))
|
||||||
delete from $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name} where $!pk.obj.name = #{$!pk.name}
|
delete from $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name} where $!pk.obj.name = #{$!pk.name}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
##导入宏定义
|
||||||
|
$!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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.api.ApiController;
|
||||||
|
import com.baomidou.mybatisplus.extension.api.R;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
|
||||||
|
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
##表注释(宏定义)
|
||||||
|
#tableComment("表控制层")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
|
||||||
|
public class $!{tableName} extends ApiController {
|
||||||
|
/**
|
||||||
|
* 服务对象
|
||||||
|
*/
|
||||||
|
@Resource
|
||||||
|
private $!{tableInfo.name}Service $!{serviceName};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页查询所有数据
|
||||||
|
*
|
||||||
|
* @param page 分页对象
|
||||||
|
* @param $!entityName 查询实体
|
||||||
|
* @return 所有数据
|
||||||
|
*/
|
||||||
|
@GetMapping
|
||||||
|
public R selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName) {
|
||||||
|
return success(this.$!{serviceName}.page(page, new QueryWrapper<>($!entityName)));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过主键查询单条数据
|
||||||
|
*
|
||||||
|
* @param id 主键
|
||||||
|
* @return 单条数据
|
||||||
|
*/
|
||||||
|
@GetMapping("{id}")
|
||||||
|
public R selectOne(@PathVariable Serializable id) {
|
||||||
|
return success(this.$!{serviceName}.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增数据
|
||||||
|
*
|
||||||
|
* @param $!entityName 实体对象
|
||||||
|
* @return 新增结果
|
||||||
|
*/
|
||||||
|
@PostMapping
|
||||||
|
public R insert(@RequestBody $!tableInfo.name $!entityName) {
|
||||||
|
return success(this.$!{serviceName}.save($!entityName));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改数据
|
||||||
|
*
|
||||||
|
* @param $!entityName 实体对象
|
||||||
|
* @return 修改结果
|
||||||
|
*/
|
||||||
|
@PutMapping
|
||||||
|
public R update(@RequestBody $!tableInfo.name $!entityName) {
|
||||||
|
return success(this.$!{serviceName}.updateById($!entityName));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除数据
|
||||||
|
*
|
||||||
|
* @param idList 主键结合
|
||||||
|
* @return 删除结果
|
||||||
|
*/
|
||||||
|
@DeleteMapping
|
||||||
|
public R delete(@RequestParam("idList") List<Long> idList) {
|
||||||
|
return success(this.$!{serviceName}.removeByIds(idList));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
##导入宏定义
|
||||||
|
$!define
|
||||||
|
|
||||||
|
##设置表后缀(宏定义)
|
||||||
|
#setTableSuffix("Dao")
|
||||||
|
|
||||||
|
##保存文件(宏定义)
|
||||||
|
#save("/dao", "Dao.java")
|
||||||
|
|
||||||
|
##包路径(宏定义)
|
||||||
|
#setPackageSuffix("dao")
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
|
||||||
|
|
||||||
|
##表注释(宏定义)
|
||||||
|
#tableComment("表数据库访问层")
|
||||||
|
public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<$!{tableInfo.name}> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertBatch(@Param("entities") List<$!{tableInfo.name}> entities);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
|
||||||
|
*
|
||||||
|
* @param entities List<$!{tableInfo.name}> 实例对象列表
|
||||||
|
* @return 影响行数
|
||||||
|
*/
|
||||||
|
int insertOrUpdateBatch(@Param("entities") List<$!{tableInfo.name}> entities);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,41 @@
|
||||||
|
##导入宏定义
|
||||||
|
$!define
|
||||||
|
|
||||||
|
##保存文件(宏定义)
|
||||||
|
#save("/entity", ".java")
|
||||||
|
|
||||||
|
##包路径(宏定义)
|
||||||
|
#setPackageSuffix("entity")
|
||||||
|
|
||||||
|
##自动导入包(全局变量)
|
||||||
|
$!autoImport
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
##表注释(宏定义)
|
||||||
|
#tableComment("表实体类")
|
||||||
|
@SuppressWarnings("serial")
|
||||||
|
public class $!{tableInfo.name} extends Model<$!{tableInfo.name}> {
|
||||||
|
#foreach($column in $tableInfo.fullColumn)
|
||||||
|
#if(${column.comment})//${column.comment}#end
|
||||||
|
|
||||||
|
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
|
||||||
|
#end
|
||||||
|
|
||||||
|
#foreach($column in $tableInfo.fullColumn)
|
||||||
|
#getSetMethod($column)
|
||||||
|
#end
|
||||||
|
|
||||||
|
#foreach($column in $tableInfo.pkColumn)
|
||||||
|
/**
|
||||||
|
* 获取主键值
|
||||||
|
*
|
||||||
|
* @return 主键值
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
protected Serializable pkVal() {
|
||||||
|
return this.$!column.name;
|
||||||
|
}
|
||||||
|
#break
|
||||||
|
#end
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
##引入mybatis支持
|
||||||
|
$!mybatisSupport
|
||||||
|
|
||||||
|
##设置保存名称与保存位置
|
||||||
|
$!callback.setFileName($tool.append($!{tableInfo.name}, "Dao.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}.dao.$!{tableInfo.name}Dao">
|
||||||
|
|
||||||
|
<resultMap type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" id="$!{tableInfo.name}Map">
|
||||||
|
#foreach($column in $tableInfo.fullColumn)
|
||||||
|
<result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
|
||||||
|
#end
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<!-- 批量插入 -->
|
||||||
|
<insert id="insertBatch" keyProperty="$!pk.name" useGeneratedKeys="true">
|
||||||
|
insert into $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#foreach($column in $tableInfo.otherColumn)#{entity.$!{column.name}}#if($velocityHasNext), #end#end)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
<!-- 批量插入或按主键更新 -->
|
||||||
|
<insert id="insertOrUpdateBatch" keyProperty="$!pk.name" useGeneratedKeys="true">
|
||||||
|
insert into $!{tableInfo.obj.parent.name}.$!{tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#foreach($column in $tableInfo.otherColumn)#{entity.$!{column.name}}#if($velocityHasNext), #end#end)
|
||||||
|
</foreach>
|
||||||
|
on duplicate key update
|
||||||
|
#foreach($column in $tableInfo.otherColumn)$!column.obj.name = values($!column.obj.name) #if($velocityHasNext), #end#end
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,20 @@
|
||||||
|
##导入宏定义
|
||||||
|
$!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> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
##导入宏定义
|
||||||
|
$!define
|
||||||
|
|
||||||
|
##设置表后缀(宏定义)
|
||||||
|
#setTableSuffix("ServiceImpl")
|
||||||
|
|
||||||
|
##保存文件(宏定义)
|
||||||
|
#save("/service/impl", "ServiceImpl.java")
|
||||||
|
|
||||||
|
##包路径(宏定义)
|
||||||
|
#setPackageSuffix("service.impl")
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao;
|
||||||
|
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
|
||||||
|
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
##表注释(宏定义)
|
||||||
|
#tableComment("表服务实现类")
|
||||||
|
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
|
||||||
|
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Dao, $!{tableInfo.name}> implements $!{tableInfo.name}Service {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue