欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IDEA必備開發(fā)神器之EasyCode

 更新時(shí)間:2021年05月14日 11:45:56   作者:匯智知了堂  
對于java程序員來說,日常工作中就是crud的操作,每次都要搭建MVC三層,還是很繁瑣,這里就出現(xiàn)了神器easycode的工具.可以快速生成代碼.并且還可以自定義模板.需要的朋友可以參考下

1、打開IntelliJ IDEA 新建一個(gè)maven工程

2、選擇工程存放目錄

3、下載安裝EasyCode插件

file->settings->plugins 搜索Easy Code

搜索到后點(diǎn)擊Install 我這里安裝過了 安裝完成會(huì)讓你重啟IDEA。

如何判斷是否安裝成功 file->settings->Other settings 看是否有Easy Code這個(gè)選項(xiàng)

4、引入Easy Code模板 (可以根據(jù)個(gè)人情況定制 也可以使用默認(rèn)的)

5、創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)表

6、配置數(shù)據(jù)源(需要指定數(shù)據(jù)庫名稱,要生成數(shù)據(jù)表)

點(diǎn)擊IDEA右側(cè)的Datbase->點(diǎn)擊上方的加號->選擇Data Source.->Mysql

7、配置數(shù)據(jù)源

注意:連接方式需要采用mysql8的連接方式,不然可能連接失敗jdbc:mysql://localhost:3306/table?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false

8、連接成功如圖所示

9、引入springboot的相關(guān)pom.xml依賴

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
         <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
    </dependencies>

需要用到mybatis的啟動(dòng)器,所以也一起引用

10、打開Easy Code插件 選要生成的entity,controller,service,serviceimpl,dao

右擊表名->Easy Code->Generate Code

Module:當(dāng)前項(xiàng)目模塊

package:生成代碼存放包的位置

Template:生成的模板

11、勾選All表示生成所有,勾選禁止提示,防止彈出很多個(gè)提示信息,點(diǎn)擊OK

12、生成模板

entity.java代碼:

##引入宏定義
$!define
$!init
##使用宏定義設(shè)置回調(diào)(保存位置與文件后綴)
#save("/entity", ".java")
##使用宏定義設(shè)置包后綴
#setPackageSuffix("entity")
##使用全局變量實(shí)現(xiàn)默認(rèn)包導(dǎo)入
$!autoImport
import java.io.Serializable;
import lombok.Data;
##使用宏定義實(shí)現(xiàn)類注釋信息
#tableComment("實(shí)體類")
@Data
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
}

controller接口:controller.java代碼如下:

##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##設(shè)置回調(diào)
$!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 lombok.extern.slf4j.Slf4j;
import com.github.pagehelper.PageInfo;
import $!{tableInfo.savePackageName}.response.PageResult;
import $!{tableInfo.savePackageName}.response.Result;
import $!{tableInfo.savePackageName}.response.StatusCode;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
 
/**
 * $!{tableInfo.comment}($!{tableInfo.name})控制層
 *
 * @author protagonist
 * @since $!time.currTime()
 */
@RestController
@Slf4j
@RequestMapping("/$!tool.firstLowerCase($tableInfo.name)")
public class $!{tableName} {
    /**
     * 服務(wù)對象
     */
    @Resource
    private $!{tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)ServiceImpl;
 
    /**
     * 通過主鍵查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 單條數(shù)據(jù)
     */
    @GetMapping(value = "/get/{$!pk.name}")
    public Result selectOne(@PathVariable("$!pk.name") $!pk.shortType $!pk.name) {
        $tableInfo.name result = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.selectById(id);
        if(Objects.nonNull(result)){
            return new Result<>(true,StatusCode.OK,"查詢成功",result);
        }
        return new Result<>(true,StatusCode.ERROR,"查詢失敗");
    }
    
    /**
     * 新增一條數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($tableInfo.name) 實(shí)體類
     * @return Result對象
     */
    @PostMapping(value = "/insert")
    public Result insert(@RequestBody $tableInfo.name $!tool.firstLowerCase($tableInfo.name)) {
        int result = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.insert($!tool.firstLowerCase($tableInfo.name));
        if (result > 0) {
          return new Result<>(true,StatusCode.OK,"新增成功",result);
        }
        return new Result<>(true,StatusCode.ERROR,"新增失敗"); 
    }
 
    /**
     * 修改一條數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($tableInfo.name) 實(shí)體類
     * @return Result對象
     */
    @PutMapping(value = "/update")
    public Result update(@RequestBody $tableInfo.name $!tool.firstLowerCase($tableInfo.name)) {
        $tableInfo.name result = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.update($!tool.firstLowerCase($tableInfo.name));
        if (Objects.nonNull(result)) {
          return new Result<>(true,StatusCode.OK,"修改成功",result);
        }
        return new Result<>(true,StatusCode.ERROR,"修改失敗");
    }
 
    /**
     * 刪除一條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return Result對象
     */
    @DeleteMapping(value = "/delete/{$!pk.name}")
    public Result delete(@PathVariable("$!pk.name") $!pk.shortType $!pk.name) {
        int result = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.deleteById($!pk.name);
        if (result > 0) {
          return new Result<>(true,StatusCode.OK,"刪除成功",result);
        }
        return new Result<>(true,StatusCode.ERROR,"刪除失敗");
    }
 
    /**
     * 查詢?nèi)?
     *
     * @return Result對象
     */
    @GetMapping(value = "/selectAll")
    public Result<List<$tableInfo.name>> selectAll() {
        List<$tableInfo.name> $!tool.firstLowerCase($tableInfo.name)s = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.selectAll();
        if (CollectionUtils.isEmpty($!tool.firstLowerCase($tableInfo.name)s)) {
            return new Result<>(true,StatusCode.ERROR,"查詢?nèi)繑?shù)據(jù)失敗");       
        }
        return new Result<>(true,StatusCode.OK,"查詢?nèi)繑?shù)據(jù)成功",$!tool.firstLowerCase($tableInfo.name)s);
        
    }
 
    /**
     * 分頁查詢
     *
     * @param current 當(dāng)前頁  第零頁和第一頁的數(shù)據(jù)是一樣
     * @param size 每一頁的數(shù)據(jù)條數(shù)
     * @return Result對象
     */
    @GetMapping(value = "/selectPage/{current}/{size}")
    public Result selectPage(@PathVariable("current") Integer current,@PathVariable("size") Integer size) {
        PageInfo<$tableInfo.name> page = $!{tool.firstLowerCase($tableInfo.name)}ServiceImpl.selectPage(current, size);
        if (Objects.nonNull(page)) {
            return new Result<>(true,StatusCode.OK,"分頁條件查詢成功",new PageResult<>(page.getTotal(),page.getList()));
        }
        return new Result<>(true,StatusCode.ERROR,"分頁查詢數(shù)據(jù)失敗");
    }
    
}

service接口:service.java 代碼如下:

##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Service"))
##設(shè)置回調(diào)
$!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;
import com.github.pagehelper.PageInfo;
 
/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服務(wù)接口
 *
 * @author protagonist
 * @since $!time.currTime()
 */
public interface $!{tableName} {
 
    /**
     * 通過ID查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 實(shí)例對象
     */
    $!{tableInfo.name} selectById($!pk.shortType $!pk.name);
 
    /**
     * 分頁查詢
     *
     * @param current 當(dāng)前頁
     * @param size 每一頁數(shù)據(jù)的條數(shù)
     * @return 對象列表
     */
    PageInfo<$!{tableInfo.name}> selectPage(int current, int size);
 
    /**
     * 查詢?nèi)?
     *
     * @return 對象列表
     */
    List<$!{tableInfo.name}> selectAll();
    
    /**
     * 通過實(shí)體作為篩選條件查詢
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 對象列表
     */
    List<$!{tableInfo.name}> selectList($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
 
    /**
     * 新增數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 影響行數(shù)
     */
    int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    
    /**
     * 批量新增
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name})s 實(shí)例對象的集合
     * @return 影響行數(shù)
     */
    int batchInsert(List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name})s);
    
    /**
     * 修改數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 修改
     */
    $!{tableInfo.name} update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
 
    /**
     * 通過主鍵刪除數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 影響行數(shù)
     */
    int deleteById($!pk.shortType $!pk.name);
    
    /**
     * 查詢總數(shù)據(jù)數(shù)
     *
     * @return 數(shù)據(jù)總數(shù)
     */
    int count();
}

serviceImpl 實(shí)現(xiàn)類:serviceImpl .java代碼如下:

##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##設(shè)置回調(diào)
$!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.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
 
import javax.annotation.Resource;
import java.util.List;
 
 
/**
 * $!{tableInfo.comment}($!{tableInfo.name}表)服務(wù)實(shí)現(xiàn)類
 *
 * @author protagonist
 * @since $!time.currTime()
 */
@Service("$!tool.firstLowerCase($!{tableInfo.name})ServiceImpl")
public class $!{tableName} implements $!{tableInfo.name}Service {
    @Resource
    private $!{tableInfo.name}Dao $!tool.firstLowerCase($!{tableInfo.name})Dao;
 
    /**
     * 通過ID查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 實(shí)例對象
     */
    @Override
    public $!{tableInfo.name} selectById($!pk.shortType $!pk.name) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.selectById($!pk.name);
    }
 
    /**
     * 分頁查詢
     *
     * @param current 當(dāng)前頁
     * @param size 每一頁的條數(shù)
     * @return 對象列表
     */
    @Override
    public PageInfo<$!{tableInfo.name}> selectPage(int current, int size) {
        PageHelper.startPage(current,size);
        List<$!{tableInfo.name}> dataList = $!{tool.firstLowerCase($!{tableInfo.name})}Dao.selectAll();
        return new PageInfo<>(dataList);
    }
 
    /**
     * 查詢所有
     *
     * @return 實(shí)例對象的集合
     */
     @Override
     public List<$!{tableInfo.name}> selectAll() {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.selectAll();
     }
     
    /**
     * 根據(jù)條件查詢
     *
     * @return 實(shí)例對象的集合
     */
    @Override
    public List<$!{tableInfo.name}> selectList($!{tableInfo.name} $!{tool.firstLowerCase($!{tableInfo.name})}) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.selectList($!{tool.firstLowerCase($!{tableInfo.name})});
    }
    
    /**
     * 新增數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 實(shí)例對象
     */
    @Override
    @Transactional
    public int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.insert($!tool.firstLowerCase($!{tableInfo.name}));
    }
 
    /**
     * 批量新增
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name})s 實(shí)例對象的集合
     * @return 生效的條數(shù)
     */
    @Override
    @Transactional
    public int batchInsert(List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name})s) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.batchInsert($!tool.firstLowerCase($!{tableInfo.name})s);
    }
 
    /**
     * 修改數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 實(shí)例對象
     */
    @Override
    @Transactional
    public $!{tableInfo.name} update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name})) {
        this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.update($!tool.firstLowerCase($!{tableInfo.name}));
        return this.selectById($!{tool.firstLowerCase($!{tableInfo.name})}.get$!tool.firstUpperCase($pk.name)());
    }
 
    /**
     * 通過主鍵刪除數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 是否成功
     */
    @Override
    @Transactional
    public int deleteById($!pk.shortType $!pk.name) {
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.deleteById($!pk.name);
    }
    
    /**
     * 查詢總數(shù)據(jù)數(shù)
     *
     * @return 數(shù)據(jù)總數(shù)
     */
     @Override
     public int count(){
        return this.$!{tool.firstLowerCase($!{tableInfo.name})}Dao.count();
     }
}

dao層:dao.java代碼如下

##定義初始變量
#set($tableName = $tool.append($tableInfo.name, "Dao"))
##設(shè)置回調(diào)
$!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.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
 
/**
 * $!{tableInfo.comment}($!{tableInfo.name})表數(shù)據(jù)庫訪問層
 *
 * @author protagonist
 * @since $!time.currTime()
 */
 @Mapper
public interface $!{tableName} {
 
    /**
     * 通過ID查詢單條數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 實(shí)例對象
     */
    $!{tableInfo.name} selectById($!pk.shortType $!pk.name);
    
    /**
     * 查詢?nèi)?
     *
     * @return 對象列表
     */
    List<$!{tableInfo.name}> selectAll();
    
    /**
     * 通過實(shí)體作為篩選條件查詢
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 對象列表
     */
    List<$!{tableInfo.name}> selectList($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
 
    /**
     * 新增數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 影響行數(shù)
     */
    int insert($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
    
    /**
     * 批量新增
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name})s 實(shí)例對象的集合
     * @return 影響行數(shù)
     */
    int batchInsert(List<$!{tableInfo.name}> $!tool.firstLowerCase($!{tableInfo.name})s);
    
    /**
     * 修改數(shù)據(jù)
     *
     * @param $!tool.firstLowerCase($!{tableInfo.name}) 實(shí)例對象
     * @return 影響行數(shù)
     */
    int update($!{tableInfo.name} $!tool.firstLowerCase($!{tableInfo.name}));
 
    /**
     * 通過主鍵刪除數(shù)據(jù)
     *
     * @param $!pk.name 主鍵
     * @return 影響行數(shù)
     */
    int deleteById($!pk.shortType $!pk.name);
 
    /**
     * 查詢總數(shù)據(jù)數(shù)
     *
     * @return 數(shù)據(jù)總數(shù)
     */
    int count();
}

mapper.xml代碼如下:

##引入mybatis支持
$!mybatisSupport
 
##設(shè)置保存名稱與保存位置
$!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">
    <!-- 結(jié)果集 -->
    <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>
    
    <!-- 基本字段 -->
    <sql id="Base_Column_List">
        #allSqlColumn()
    </sql>
    
    <!-- 查詢單個(gè) -->
    <select id="selectById" resultMap="$!{tableInfo.name}Map">
        select
          <include refid="Base_Column_List" />
        from $!tableInfo.obj.name
        where $!pk.obj.name = #{$!pk.name}
    </select>
 
    <!-- 查詢?nèi)?-->
    <select id="selectAll" resultMap="$!{tableInfo.name}Map">
        select
        <include refid="Base_Column_List" />
        from $!tableInfo.obj.name
    </select>
 
    <!--通過實(shí)體作為篩選條件查詢-->
    <select id="selectList" resultMap="$!{tableInfo.name}Map">
        select
        <include refid="Base_Column_List" />
        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.fullColumn)$!column.obj.name#if($velocityHasNext), #end#end)
        values ( #foreach($column in $tableInfo.fullColumn)#{$!{column.name}}#if($velocityHasNext), #end#end)
    </insert>
    
    <!-- 批量新增 -->
    <insert id="batchInsert">
        insert into $!{tableInfo.obj.name}(#foreach($column in $tableInfo.fullColumn)$!column.obj.name#if($velocityHasNext), #end#end)
        values 
        <foreach collection="$!tool.firstLowerCase($!{tableInfo.name})s" item="item" index="index" separator=",">
        (
            #foreach($column in $tableInfo.fullColumn)
            #{item.$!{column.name}}#if($velocityHasNext), #end
#end
         )
         </foreach>
    </insert>
 
    <!-- 通過主鍵修改數(shù)據(jù) -->
    <update id="update">
        update $!{tableInfo.obj.parent.name}.$!{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>
    
    <!-- 總數(shù) resultType="int">
        select count(*) from $!{tableInfo.obj.name}
    </select>
</mapper>

測試成功!

代碼就全部生成出來了!

到此這篇關(guān)于Java必備開發(fā)神器之EasyCode的文章就介紹到這了,更多相關(guān)開發(fā)神器EasyCode內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系

    淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系

    這篇文章主要介紹了淺談Java自定義類加載器及JVM自帶的類加載器之間的交互關(guān)系,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring Boot接口設(shè)計(jì)防篡改、防重放攻擊詳解

    Spring Boot接口設(shè)計(jì)防篡改、防重放攻擊詳解

    這篇文章主要給大家介紹了關(guān)于Spring Boot接口設(shè)計(jì)防篡改、防重放攻擊的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Spring Boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 深入理解Java中的EnumMap和EnumSet

    深入理解Java中的EnumMap和EnumSet

    這篇文章主要介紹了深入理解Java中的EnumMap和EnumSet,一般來說我們會(huì)選擇使用HashMap來存儲(chǔ)key-value格式的數(shù)據(jù),考慮這樣的特殊情況,一個(gè)HashMap的key都來自于一個(gè)Enum類,這樣的情況則可以考慮使用本文要講的EnumMap,需要的朋友可以參考下
    2023-11-11
  • Java中MyBatis傳入?yún)?shù)parameterType問題

    Java中MyBatis傳入?yún)?shù)parameterType問題

    這篇文章主要介紹了Java中MyBatis傳入?yún)?shù)parameterType問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法

    Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法

    很多朋友不知道是什么是書簽承前縮放,簡單說就是可以任意改變當(dāng)前pdf文檔縮放比例,點(diǎn)擊書簽后不影響其縮放比率,本文給大家介紹下Java?pdf文件書簽承前縮放驗(yàn)證的設(shè)置方法,感興趣的朋友一起看看吧
    2022-02-02
  • JavaWeb實(shí)現(xiàn)裁剪圖片上傳完整代碼

    JavaWeb實(shí)現(xiàn)裁剪圖片上傳完整代碼

    這篇文章主要為大家詳細(xì)介紹了javaWeb實(shí)現(xiàn)裁剪圖片上傳完整代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Java實(shí)現(xiàn)計(jì)算器設(shè)計(jì)

    Java實(shí)現(xiàn)計(jì)算器設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)計(jì)算器設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 詳解Spring Security如何配置JSON登錄

    詳解Spring Security如何配置JSON登錄

    這篇文章主要介紹了詳解Spring Security如何配置JSON登錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • mybatis遞歸 一對多的實(shí)現(xiàn)方法示例

    mybatis遞歸 一對多的實(shí)現(xiàn)方法示例

    這篇文章主要給大家介紹了關(guān)于mybatis遞歸 一對多實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 關(guān)于Spring啟動(dòng)時(shí)Context加載源碼分析

    關(guān)于Spring啟動(dòng)時(shí)Context加載源碼分析

    這篇文章通過源碼分析主要給大家介紹了關(guān)于Spring啟動(dòng)時(shí)Context加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01

最新評論