当前位置:网站首页>EasyCode模板
EasyCode模板
2022-06-12 17:40:00 【*夜幕星河℡】
1 Mybatis
1.1 controller.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/controller"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}controller;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import $!{
tableInfo.savePackageName}.service.$!{
tableInfo.name}Service;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import javax.annotation.Resource;
/** * $!{tableInfo.comment}($!{tableInfo.name})表控制层 * * @author $!author * @since $!time.currTime() */
@RestController
@RequestMapping("$!tool.firstLowerCase($tableInfo.name)")
public class $!{
tableName} {
/** * 服务对象 */
@Resource
private $!{
tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)Service;
/** * 查询所有数据 * * @return 实例对象集合 */
@GetMapping("/queryAll")
public ResponseEntity<List> queryAll() {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.queryAll());
}
/** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */
@GetMapping("{id}")
public ResponseEntity<$!{
tableInfo.name}> queryById(@PathVariable("id") $!pk.shortType id) {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.queryById(id));
}
/** * 查询指定行数据 * * @return 实例对象集合 */
@GetMapping("/queryAllByLimit")
public ResponseEntity<$!{
tableInfo.name}> queryAllByLimit(Integer page, Integer pageSize) {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.queryAllByLimit(page, pageSize));
}
/** * 新增数据 * * @param $!{tool.firstLowerCase($tableInfo.name)} 实体 * @return 新增结果 */
@PostMapping("/add")
public ResponseEntity<$!{
tableInfo.name}> add($!{
tableInfo.name} $!{
tool.firstLowerCase($tableInfo.name)}) {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.insert($!{
tool.firstLowerCase($tableInfo.name)}));
}
/** * 编辑数据 * * @param $!{tool.firstLowerCase($tableInfo.name)} 实体 * @return 编辑结果 */
@PutMapping("/edit")
public ResponseEntity<$!{
tableInfo.name}> edit($!{
tableInfo.name} $!{
tool.firstLowerCase($tableInfo.name)}) {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.update($!{
tool.firstLowerCase($tableInfo.name)}));
}
/** * 删除数据 * * @param id 主键 * @return 删除是否成功 */
@DeleteMapping("/deleteById")
public ResponseEntity<Boolean> deleteById($!pk.shortType id) {
return ResponseEntity.ok(this.$!{
tool.firstLowerCase($tableInfo.name)}Service.deleteById(id));
}
}
1.2 serviceImpl.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service/impl"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}service.impl;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import $!{
tableInfo.savePackageName}.dao.$!{
tableInfo.name}Dao;
import $!{
tableInfo.savePackageName}.service.$!{
tableInfo.name}Service;
import org.springframework.stereotype.Service;
import java.util.List;
import javax.annotation.Resource;
/** * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类 * * @author $!author * @since $!time.currTime() */
@Service("$!tool.firstLowerCase($!{tableInfo.name})Service")
public class $!{
tableName} implements $!{
tableInfo.name}Service {
@Resource
private $!{
tableInfo.name}Dao $!tool.firstLowerCase($!{
tableInfo.name})Dao;
/** * 查询所有数据 * * @return 实例对象集合 */
@Override
public List<$!{
tableInfo.name}> queryAll() {
return this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.queryAll();
}
/** * 通过ID查询单条数据 * * @param $!pk.name 主键 * @return 实例对象 */
@Override
public $!{
tableInfo.name} queryById($!pk.shortType $!pk.name) {
return this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.queryById($!pk.name);
}
/** * 查询指定行数据 * * @return 实例对象集合 */
@Override
public $!{
tableInfo.name} queryAllByLimit(Integer page, Integer pageSize) {
return this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.queryAllByLimit(page, pageSize);
}
/** * 新增数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 实例对象 */
@Override
public $!{
tableInfo.name} insert($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name})) {
this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.insert($!tool.firstLowerCase($!{
tableInfo.name}));
return $!tool.firstLowerCase($!{
tableInfo.name});
}
/** * 修改数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 实例对象 */
@Override
public $!{
tableInfo.name} update($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name})) {
this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.update($!tool.firstLowerCase($!{
tableInfo.name}));
return this.queryById($!{
tool.firstLowerCase($!{
tableInfo.name})}.get$!tool.firstUpperCase($pk.name)());
}
/** * 通过主键删除数据 * * @param $!pk.name 主键 * @return 是否成功 */
@Override
public boolean deleteById($!pk.shortType $!pk.name) {
return this.$!{
tool.firstLowerCase($!{
tableInfo.name})}Dao.deleteById($!pk.name) > 0;
}
}
1.3 service.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Service"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}service;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import java.util.List;
/** * $!{tableInfo.comment}($!{tableInfo.name})表服务接口 * * @author $!author * @since $!time.currTime() */
public interface $!{
tableName} {
/** * 查询所有数据 * * @return 实例对象集合 */
List<$!{
tableInfo.name}> queryAll();
/** * 通过ID查询单条数据 * * @param $!pk.name 主键 * @return 实例对象 */
$!{
tableInfo.name} queryById($!pk.shortType $!pk.name);
/** * 查询指定行数据 * * @return 实例对象集合 */
$!{
tableInfo.name} queryAllByLimit(Integer page, Integer pageSize);
/** * 新增数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 实例对象 */
$!{
tableInfo.name} insert($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name}));
/** * 修改数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 实例对象 */
$!{
tableInfo.name} update($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name}));
/** * 通过主键删除数据 * * @param $!pk.name 主键 * @return 是否成功 */
boolean deleteById($!pk.shortType $!pk.name);
}
1.4 dao.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Dao"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/dao"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}dao;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层 * * @author $!author * @since $!time.currTime() */
@Mapper
public interface $!{
tableName} {
/** * 查询所有数据 * * @return 实例对象集合 */
List<$!{
tableInfo.name}> queryAll();
/** * 通过ID查询单条数据 * * @param $!pk.name 主键 * @return 实例对象 */
$!{
tableInfo.name} queryById($!pk.shortType $!pk.name);
/** * 查询指定行数据 * * @return 实例对象集合 */
$!{
tableInfo.name} queryAllByLimit(@Param("page") Integer page, @Param("pageSize") Integer pageSize);
/** * 统计总行数 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 查询条件 * @return 总行数 */
long count($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name}));
/** * 新增数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 影响行数 */
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 影响行数 * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 */
int insertOrUpdateBatch(@Param("entities") List<$!{
tableInfo.name}> entities);
/** * 修改数据 * * @param $!tool.firstLowerCase($!{tableInfo.name}) 实例对象 * @return 影响行数 */
int update($!{
tableInfo.name} $!tool.firstLowerCase($!{
tableInfo.name}));
/** * 通过主键删除数据 * * @param $!pk.name 主键 * @return 影响行数 */
int deleteById($!pk.shortType $!pk.name);
}
1.5 entity.java.vm
##引入宏定义
$!{
define.vm}
##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", ".java")
##使用宏定义设置包后缀
#setPackageSuffix("entity")
##使用全局变量实现默认包导入
$!{
autoImport.vm}
import java.io.Serializable;
##使用宏定义实现类注释信息
#tableComment("实体类")
public class $!{
tableInfo.name} implements Serializable {
private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
#if(${
column.comment})/** * ${column.comment} */#end
private $!{
tool.getClsNameByFullName($column.type)} $!{
column.name};
#end
#foreach($column in $tableInfo.fullColumn)
##使用宏定义实现get,set方法
#getSetMethod($column)
#end
}
1.6 mapper.xml.vm
##引入mybatis支持
$!{
mybatisSupport.vm}
##设置保存名称与保存位置
$!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}.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>
<!--查询所有-->
<select id="queryAll" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!tableInfo.obj.name
</select>
<!--查询单个-->
<select id="queryById" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!tableInfo.obj.name
where $!pk.obj.name = #{
$!pk.name}
</select>
<!--查询指定行数据-->
<select id="queryAllByLimit" resultMap="$!{tableInfo.name}Map">
select
#allSqlColumn()
from $!tableInfo.obj.name
limit #{
page}, #{
pageSize}
</select>
<!--统计总行数-->
<select id="count" resultType="java.lang.Long">
select count(1)
from $!tableInfo.obj.name
<where>
#foreach($column in $tableInfo.fullColumn)
<if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
and $!column.obj.name = #{
$!column.name}
</if>
#end
</where>
</select>
<!--新增所有列-->
<insert id="insert" keyProperty="$!pk.name" useGeneratedKeys="true">
insert into $!{
tableInfo.obj.name}(#foreach($column in $tableInfo.otherColumn)$!column.obj.name#if($velocityHasNext), #end#end)
values (#foreach($column in $tableInfo.otherColumn)#{
$!{
column.name}}#if($velocityHasNext), #end#end)
</insert>
<insert id="insertBatch" keyProperty="$!pk.name" useGeneratedKeys="true">
insert into $!{
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.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 $!{
tableInfo.obj.name}
<set>
#foreach($column in $tableInfo.otherColumn)
<if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
$!column.obj.name = #{
$!column.name},
</if>
#end
</set>
where $!pk.obj.name = #{
$!pk.name}
</update>
<!--通过主键删除-->
<delete id="deleteById">
delete from $!{
tableInfo.obj.name} where $!pk.obj.name = #{
$!pk.name}
</delete>
</mapper>
2 Mybatis-Puls
2.1 controller.java.vm
##导入宏定义
$!{
define.vm}
##设置表后缀(宏定义)
#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.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import $!{
tableInfo.savePackageName}.entity.$!tableInfo.name;
import $!{
tableInfo.savePackageName}.service.$!{
tableInfo.name}Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
##表注释(宏定义)
#tableComment("表控制层")
@Slf4j
@RestController
@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
public class $!{
tableName} {
/** * 服务对象 */
@Resource
private $!{
tableInfo.name}Service $!{
serviceName};
/** * 分页查询所有数据 * * @param page 分页对象 * @param $!entityName 查询实体 * @return 所有数据 */
@GetMapping("/queryAll")
public R selectAll(Page<$!tableInfo.name> page, $!tableInfo.name $!entityName) {
log.info("操作成功!!!!");
return R.ok(this.$!{
serviceName}.page(page, new QueryWrapper<>($!entityName)));
}
/** * 通过主键查询单条数据 * * @param id 主键 * @return 单条数据 */
@GetMapping("{id}")
public R selectOne(@PathVariable Serializable id) {
return R.ok(this.$!{
serviceName}.getById(id));
}
/** * 新增数据 * * @param $!entityName 实体对象 * @return 新增结果 */
@PostMapping("/add")
public R insert(@RequestBody $!tableInfo.name $!entityName) {
return R.ok(this.$!{
serviceName}.save($!entityName));
}
/** * 修改数据 * * @param $!entityName 实体对象 * @return 修改结果 */
@PutMapping("/edit")
public R update(@RequestBody $!tableInfo.name $!entityName) {
return R.ok(this.$!{
serviceName}.updateById($!entityName));
}
/** * 删除数据 * * @param idList 主键结合 * @return 删除结果 */
@DeleteMapping("/delete")
public R delete(@RequestParam("idList") List<Long> idList) {
return R.ok(this.$!{
serviceName}.removeByIds(idList));
}
}
2.2 serviceImpl.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service/impl"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}service.impl;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import $!{
tableInfo.savePackageName}.service.$!{
tableInfo.name}Service;
import $!{
tableInfo.savePackageName}.dao.$!{
tableInfo.name}Dao;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/** * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类 * * @author $!author * @since $!time.currTime() */
@Service("$!tool.firstLowerCase($!{tableInfo.name})Service")
public class $!{
tableName} extends ServiceImpl<$!{
tableInfo.name}Dao, $!{
tableInfo.name}> implements $!{
tableInfo.name}Service {
}
2.3 service.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Service"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}service;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import com.baomidou.mybatisplus.extension.service.IService;
/** * $!{tableInfo.comment}($!{tableInfo.name})表服务接口 * * @author $!author * @since $!time.currTime() */
public interface $!{
tableName} extends IService<$!{
tableInfo.name}> {
}
2.4 dao.java.vm
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Dao"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/dao"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
#set($pk = $tableInfo.pkColumn.get(0))
#end
#if($tableInfo.savePackageName)package $!{
tableInfo.savePackageName}.#{
end}dao;
import $!{
tableInfo.savePackageName}.entity.$!{
tableInfo.name};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/** * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层 * * @author $!author * @since $!time.currTime() */
public interface $!{
tableName} extends BaseMapper<$!{
tableInfo.name}> {
}
2.5 entity.java.vm
##引入宏定义
$!{
define.vm}
##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", ".java")
##使用宏定义设置包后缀
#setPackageSuffix("entity")
##使用全局变量实现默认包导入
$!{
autoImport.vm}
import java.io.Serializable;
import lombok.Data;
import lombok.ToString;
##使用宏定义实现类注释信息
#tableComment("实体类")
@Data
@ToString
public class $!{
tableInfo.name} implements Serializable {
private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
#if(${
column.comment})/** * ${column.comment} */#end
private $!{
tool.getClsNameByFullName($column.type)} $!{
column.name};
#end
}
2.6 mapper.xml.vm
##引入mybatis支持
$!{
mybatisSupport.vm}
##设置保存名称与保存位置
$!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}.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>
</mapper>
边栏推荐
- TensorFlow从网络读取数据
- Arm64 stack backtracking
- DRM 驱动 mmap 详解:(一)预备知识
- qemu+gdb小节
- The R language uses the PDF function to save the visual image results to the PDF file, uses the PDF function to open the image device, uses the dev.off function to close the image device, and customiz
- The R language uses the plot function to visualize the data scatter chart, and uses font The axis parameter specifies that the font type of the axis scale label is italic
- Authorization in Golang ProjectUseing Casbin
- AlibabaProtect.exe如何删除、卸载
- Figma from getting started to giving up
- Sizepolicy policy in layout management
猜你喜欢

龙芯处理器内核中断讲解

C#操作数据库增查业务数据值内容案例学校表

Tensorflow prompts typeerror: unsupported operand type (s) for *: 'float' and 'nonetype‘
Memory control of node

Volcano engine held a video cloud technology force summit and released a new experience oriented video cloud product matrix

Evolution and thinking of Taobao native R & D mode | DX R & D mode

1723. minimum time to complete all work

ShardingJDBC 分库分表详解

Detailed explanation of shardingjdbc database and table

Application case of smart micro 32-bit MCU for server application cooling control
随机推荐
The R language uses the aggregate The plot function visualizes the summary statistical information of each subset (visualization is based on the probability value and its 95% confidence interval of th
Feedback compilation
Goframe gredis configuration management | comparison of configuration files and configuration methods
Record the use of yolov5 to detect rotating targets
Deep interest evolution network for click through rate prediction
全局锁、表锁、行锁
grpc-swift入门
ShardingJDBC 分库分表详解
论文《Deep Interest Evolution Network for Click-Through Rate Prediction》
Reconnaître l'originalité de la fonction
一物一码追踪溯源系统介绍
Getting started with grpc swift
AlibabaProtect.exe如何删除、卸载
Arm64 Stack backtrack
73. 矩阵置零(标记法)
ssm常用到的依赖
How to view, modify, and delete SSH
1.5 什么是架构师(连载)
字节飞书人力资源套件三面
徽商期货开户可靠吗?资金安全吗?