当前位置:网站首页>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>
边栏推荐
- Vulnhub[DC3]
- Selenium element positioning
- Gerrit triggers Jenkins sonarqube scan
- Interesting LD_ PRELOAD
- 淘宝Native研发模式的演进与思考 | DX研发模式
- Is Huishang futures company reliable in opening accounts and safe in trading?
- (5) Outputs and outputs
- 5-5 configuring MySQL replication log point based replication
- The R language uses the tablestack function of epidisplay package to generate statistical analysis tables based on grouped variables (including descriptive statistical analysis, hypothesis test, diffe
- 错误记录:IllegalStateException: Optional int parameter ‘xxxx‘ is
猜你喜欢

LCD参数解释及计算
![Vulnhub[DC3]](/img/3a/1aa03e804d447d38e85807928fdb8f.png)
Vulnhub[DC3]

How to win the "Olympic Games" in retail technology for jd.com, the learning tyrant of the "regular examination"?

Hangzhou AI developer meetup registration opens!

Compilation optimization of performance optimization
![[CSP]202012-2期末预测之最佳阈值](/img/40/9b59bd692bcfe05d16614cc6d55d1f.png)
[CSP]202012-2期末预测之最佳阈值

龙芯处理器内核中断讲解

Arm64栈回溯

Atlas conflict Remote Code Execution Vulnerability (cve-2022-26134) vulnerability recurrence

Some introduction to FPC flexible circuit board design
随机推荐
Saturated! Can't future programmers work anymore?
Learn the mitmproxy packet capturing tool from scratch
(5) Outputs and outputs
Original error interface
First acquaintance with go language
(7) Loop statement for
Goframe gredis configuration management | comparison of configuration files and configuration methods
C# 业务流水号规则生成组件
Tidb Hackathon 2021 - pcloud: conduct icloud pcloud team interview on the database
Alibaba cloud image station supports IPv6!
Reconnaître l'originalité de la fonction
Risc-v ide mounriver studio v1.60 update point introduction
Installation and use of rolabelimg
ftrace
R language uses the sum function of epidisplay package to calculate the descriptive statistical summary information of the specified variables in dataframe under different grouped variables and visual
Cicada mother talks to rainbow couple: 1.3 billion goods a year, from e-commerce beginners to super goods anchor
Microsoft Office MSDT Code Execution Vulnerability (cve-2022-30190) vulnerability recurrence
Flink 维表异步查询的实现以及问题排查
错误记录:IllegalStateException: Optional int parameter ‘xxxx‘ is
Interesting LD_ PRELOAD